@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
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
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
11
|
[](LICENSE)
|
|
12
12
|
[]()
|
|
13
13
|
|
|
@@ -30,8 +30,8 @@ Combina verificación formal, scripting declarativo, control de flujo, funciones
|
|
|
30
30
|
|
|
31
31
|
| Distribución | Paquete | Comando |
|
|
32
32
|
|--------------|---------|---------|
|
|
33
|
-
| **Debian / Ubuntu** | [⬇️ `.deb`](https://github.com/stevenvo780/ST/releases/latest/download/st-lang_3.
|
|
34
|
-
| **Fedora / RHEL** | [⬇️ `.rpm`](https://github.com/stevenvo780/ST/releases/latest/download/st-lang-3.
|
|
33
|
+
| **Debian / Ubuntu** | [⬇️ `.deb`](https://github.com/stevenvo780/ST/releases/latest/download/st-lang_3.3.0_amd64.deb) | `sudo dpkg -i st-lang_*.deb` |
|
|
34
|
+
| **Fedora / RHEL** | [⬇️ `.rpm`](https://github.com/stevenvo780/ST/releases/latest/download/st-lang-3.3.0-1.x86_64.rpm) | `sudo rpm -i st-lang-*.rpm` |
|
|
35
35
|
| **Linux genérico** | [⬇️ binario](https://github.com/stevenvo780/ST/releases/latest/download/st) | `chmod +x st && sudo mv st /usr/local/bin/` |
|
|
36
36
|
|
|
37
37
|
### Con npm
|
|
@@ -52,6 +52,44 @@ npm link
|
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
+
## Novedades en 3.3
|
|
56
|
+
|
|
57
|
+
### AST visitors tipados
|
|
58
|
+
|
|
59
|
+
Refactor del parser monolítico a un sistema de visitors con tipos exhaustivos.
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
import { visit, BaseASTVisitor } from '@stevenvo780/st-lang/ast';
|
|
63
|
+
|
|
64
|
+
class MyVisitor extends BaseASTVisitor<string> {
|
|
65
|
+
visitDerive(node) { return `derive: ${node.conclusion}`; }
|
|
66
|
+
// TypeScript exige manejar cada variante del AST
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const result = visit(programAST, new MyVisitor());
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Type checker en runtime
|
|
73
|
+
|
|
74
|
+
Valida programas antes de ejecutarlos. Detecta 7 categorías de error
|
|
75
|
+
(TC001–TC008) con sugerencias automáticas vía distancia Levenshtein.
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
import { typeCheck, evaluate } from '@stevenvo780/st-lang';
|
|
79
|
+
|
|
80
|
+
const errors = typeCheck(programAST, 'classical', 'file.st');
|
|
81
|
+
if (errors.length === 0) {
|
|
82
|
+
const result = evaluate(programAST, 'classical');
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Cobertura y benchmarks
|
|
87
|
+
|
|
88
|
+
- Tests: 1621 (cobertura 78.81%, subió desde 71%).
|
|
89
|
+
- Suite de benchmarks formal con baselines y detección de regresión de rendimiento.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
55
93
|
## Inicio rápido
|
|
56
94
|
|
|
57
95
|
### 1) Tu primer archivo `theory.st`
|
|
@@ -402,10 +440,12 @@ La extensión oficial en `editors/vscode-st` aporta:
|
|
|
402
440
|
|
|
403
441
|
## Arquitectura
|
|
404
442
|
|
|
405
|
-
1. **Lexer/Parser**: transforma el script `.st` en AST.
|
|
406
|
-
2. **
|
|
407
|
-
3. **
|
|
408
|
-
4. **
|
|
443
|
+
1. **Lexer/Parser**: transforma el script `.st` en AST tipado.
|
|
444
|
+
2. **AST Visitors** (`ASTVisitor<T>`, `BaseASTVisitor<T>`): traversal exhaustivo y tipado sobre el AST; reemplaza el parser monolítico de versiones anteriores.
|
|
445
|
+
3. **Type Checker** (`typeCheck`): validación estática en runtime antes de la ejecución; 7 reglas (TC001–TC008) con sugerencias Levenshtein.
|
|
446
|
+
4. **Interpreter**: ejecuta statements, mantiene teoría, bindings, funciones y Text Layer.
|
|
447
|
+
5. **Profiles**: cada perfil implementa derivación, validez, satisfacibilidad, explicación y más.
|
|
448
|
+
6. **ProtocolHandler**: expone capacidades para integraciones de editor.
|
|
409
449
|
|
|
410
450
|
---
|
|
411
451
|
|
package/dist/api.d.ts
CHANGED
|
@@ -168,4 +168,6 @@ export declare function completion(): CompletionItem[];
|
|
|
168
168
|
export declare function render(source: string, format?: string, file?: string): STRenderResult;
|
|
169
169
|
export type { ExecutionOutput, Diagnostic, RunResult, Formula, LogicStatus, Theory, TruthTableResult, Proof, Model, Valuation, Severity, FormulaKind, Claim, Passage, Anchor, SymbolInfo, HoverInfo, CompletionItem, SourceLocation, } from './types';
|
|
170
170
|
export type { Program, Statement } from './ast/nodes';
|
|
171
|
+
export { typeCheck, TypeChecker } from './runtime/typecheck';
|
|
172
|
+
export type { TypeError } from './runtime/typecheck';
|
|
171
173
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/api.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* const result = evaluate('logic classical.propositional\ncheck valid (P -> P)');
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.detectFallacies = exports.formulaToLaTeX = exports.formulaToUnicode = exports.formulaToString = void 0;
|
|
10
|
+
exports.TypeChecker = exports.typeCheck = exports.detectFallacies = exports.formulaToLaTeX = exports.formulaToUnicode = exports.formulaToString = void 0;
|
|
11
11
|
exports.evaluate = evaluate;
|
|
12
12
|
exports.parse = parse;
|
|
13
13
|
exports.check = check;
|
|
@@ -273,4 +273,8 @@ function render(source, format, file) {
|
|
|
273
273
|
diagnostics: resp.diagnostics ?? [],
|
|
274
274
|
};
|
|
275
275
|
}
|
|
276
|
+
// ── TypeChecker ───────────────────────────────────────────────
|
|
277
|
+
var typecheck_1 = require("./runtime/typecheck");
|
|
278
|
+
Object.defineProperty(exports, "typeCheck", { enumerable: true, get: function () { return typecheck_1.typeCheck; } });
|
|
279
|
+
Object.defineProperty(exports, "TypeChecker", { enumerable: true, get: function () { return typecheck_1.TypeChecker; } });
|
|
276
280
|
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dot.d.ts","sourceRoot":"","sources":["../../src/argumentation/dot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAMtD,wBAAgB,SAAS,CAAC,EAAE,EAAE,sBAAsB,GAAG,MAAM,CAc5D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Argumentation — GraphViz DOT exporter
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.dotExport = dotExport;
|
|
7
|
+
function escapeDotId(id) {
|
|
8
|
+
return id.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
9
|
+
}
|
|
10
|
+
function dotExport(af) {
|
|
11
|
+
const lines = [];
|
|
12
|
+
lines.push('digraph AF {');
|
|
13
|
+
lines.push(' rankdir=LR;');
|
|
14
|
+
lines.push(' node [shape=circle];');
|
|
15
|
+
const sortedArgs = Array.from(af.arguments).sort();
|
|
16
|
+
for (const arg of sortedArgs) {
|
|
17
|
+
lines.push(` "${escapeDotId(arg)}";`);
|
|
18
|
+
}
|
|
19
|
+
for (const [from, to] of af.attacks) {
|
|
20
|
+
lines.push(` "${escapeDotId(from)}" -> "${escapeDotId(to)}";`);
|
|
21
|
+
}
|
|
22
|
+
lines.push('}');
|
|
23
|
+
return lines.join('\n');
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=dot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dot.js","sourceRoot":"","sources":["../../src/argumentation/dot.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,2CAA2C;AAC3C,+DAA+D;;AAQ/D,8BAcC;AAlBD,SAAS,WAAW,CAAC,EAAU;IAC7B,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,SAAS,CAAC,EAA0B;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ArgumentationFramework, ComputeOptions, Semantics } from './types';
|
|
2
|
+
export declare function groundedExtension(af: ArgumentationFramework): Set<string>;
|
|
3
|
+
export declare function isComplete(af: ArgumentationFramework, set: Set<string>): boolean;
|
|
4
|
+
export declare function isStable(af: ArgumentationFramework, set: Set<string>): boolean;
|
|
5
|
+
export declare function lazyAdmissibleSets(af: ArgumentationFramework): Generator<Set<string>>;
|
|
6
|
+
export declare function preferredExtensions(af: ArgumentationFramework, options: Required<ComputeOptions>): Set<string>[];
|
|
7
|
+
export declare function completeExtensions(af: ArgumentationFramework, options: Required<ComputeOptions>): Set<string>[];
|
|
8
|
+
export declare function stableExtensions(af: ArgumentationFramework, options: Required<ComputeOptions>): Set<string>[];
|
|
9
|
+
export declare function semiStableExtensions(af: ArgumentationFramework, options: Required<ComputeOptions>): Set<string>[];
|
|
10
|
+
export declare function computeExtensions(af: ArgumentationFramework, semantics: Semantics, options?: ComputeOptions): Set<string>[];
|
|
11
|
+
//# sourceMappingURL=extensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/argumentation/extensions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAejF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,CAOzE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAIhF;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAQ9E;AA8BD,wBAAiB,kBAAkB,CAAC,EAAE,EAAE,sBAAsB,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAmBtF;AAsBD,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAChC,GAAG,CAAC,MAAM,CAAC,EAAE,CAGf;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAChC,GAAG,CAAC,MAAM,CAAC,EAAE,CAQf;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAChC,GAAG,CAAC,MAAM,CAAC,EAAE,CAOf;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAChC,GAAG,CAAC,MAAM,CAAC,EAAE,CAef;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,sBAAsB,EAC1B,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,cAAmB,GAC3B,GAAG,CAAC,MAAM,CAAC,EAAE,CAiBf"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Argumentation — Computación de extensiones (Dung 1995)
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.groundedExtension = groundedExtension;
|
|
7
|
+
exports.isComplete = isComplete;
|
|
8
|
+
exports.isStable = isStable;
|
|
9
|
+
exports.lazyAdmissibleSets = lazyAdmissibleSets;
|
|
10
|
+
exports.preferredExtensions = preferredExtensions;
|
|
11
|
+
exports.completeExtensions = completeExtensions;
|
|
12
|
+
exports.stableExtensions = stableExtensions;
|
|
13
|
+
exports.semiStableExtensions = semiStableExtensions;
|
|
14
|
+
exports.computeExtensions = computeExtensions;
|
|
15
|
+
const types_1 = require("./types");
|
|
16
|
+
const framework_1 = require("./framework");
|
|
17
|
+
function emptySet() {
|
|
18
|
+
return new Set();
|
|
19
|
+
}
|
|
20
|
+
function groundedExtension(af) {
|
|
21
|
+
let current = emptySet();
|
|
22
|
+
while (true) {
|
|
23
|
+
const next = (0, framework_1.characteristicFunction)(af, current);
|
|
24
|
+
if ((0, framework_1.setsEqual)(current, next))
|
|
25
|
+
return current;
|
|
26
|
+
current = next;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function isComplete(af, set) {
|
|
30
|
+
if (!(0, framework_1.isAdmissible)(af, set))
|
|
31
|
+
return false;
|
|
32
|
+
const defended = (0, framework_1.characteristicFunction)(af, set);
|
|
33
|
+
return (0, framework_1.setsEqual)(defended, set);
|
|
34
|
+
}
|
|
35
|
+
function isStable(af, set) {
|
|
36
|
+
if (!(0, framework_1.isConflictFree)(af, set))
|
|
37
|
+
return false;
|
|
38
|
+
const attacked = (0, framework_1.attackedBySet)(af, set);
|
|
39
|
+
for (const arg of af.arguments) {
|
|
40
|
+
if (set.has(arg))
|
|
41
|
+
continue;
|
|
42
|
+
if (!attacked.has(arg))
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
function enumerateAdmissibleSets(af, options) {
|
|
48
|
+
const args = Array.from(af.arguments).sort();
|
|
49
|
+
const n = args.length;
|
|
50
|
+
if (n > options.exhaustiveLimit) {
|
|
51
|
+
if (options.warnOnLarge) {
|
|
52
|
+
console.warn(`[argumentation] AF con ${String(n)} argumentos excede límite exhaustivo ${String(options.exhaustiveLimit)} — usar iterador lazy`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const result = [];
|
|
56
|
+
const total = 1 << n;
|
|
57
|
+
for (let mask = 0; mask < total; mask++) {
|
|
58
|
+
const subset = new Set();
|
|
59
|
+
for (let i = 0; i < n; i++) {
|
|
60
|
+
if ((mask >> i) & 1) {
|
|
61
|
+
const arg = args[i];
|
|
62
|
+
if (arg !== undefined)
|
|
63
|
+
subset.add(arg);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if ((0, framework_1.isAdmissible)(af, subset))
|
|
67
|
+
result.push(subset);
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
function* lazyAdmissibleSets(af) {
|
|
72
|
+
const args = Array.from(af.arguments).sort();
|
|
73
|
+
const n = args.length;
|
|
74
|
+
if (n > 30) {
|
|
75
|
+
throw new Error(`[argumentation] AF con ${String(n)} argumentos: el iterador lazy también es exponencial. Considera otra técnica.`);
|
|
76
|
+
}
|
|
77
|
+
const total = 1 << n;
|
|
78
|
+
for (let mask = 0; mask < total; mask++) {
|
|
79
|
+
const subset = new Set();
|
|
80
|
+
for (let i = 0; i < n; i++) {
|
|
81
|
+
if ((mask >> i) & 1) {
|
|
82
|
+
const arg = args[i];
|
|
83
|
+
if (arg !== undefined)
|
|
84
|
+
subset.add(arg);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if ((0, framework_1.isAdmissible)(af, subset))
|
|
88
|
+
yield subset;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function maximalSets(sets) {
|
|
92
|
+
const result = [];
|
|
93
|
+
for (let i = 0; i < sets.length; i++) {
|
|
94
|
+
const candidate = sets[i];
|
|
95
|
+
if (candidate === undefined)
|
|
96
|
+
continue;
|
|
97
|
+
let dominated = false;
|
|
98
|
+
for (let j = 0; j < sets.length; j++) {
|
|
99
|
+
if (i === j)
|
|
100
|
+
continue;
|
|
101
|
+
const other = sets[j];
|
|
102
|
+
if (other === undefined)
|
|
103
|
+
continue;
|
|
104
|
+
if (other.size > candidate.size && (0, framework_1.isSubset)(candidate, other)) {
|
|
105
|
+
dominated = true;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (!dominated)
|
|
110
|
+
result.push(candidate);
|
|
111
|
+
}
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
function preferredExtensions(af, options) {
|
|
115
|
+
const admissible = enumerateAdmissibleSets(af, options);
|
|
116
|
+
return maximalSets(admissible);
|
|
117
|
+
}
|
|
118
|
+
function completeExtensions(af, options) {
|
|
119
|
+
const admissible = enumerateAdmissibleSets(af, options);
|
|
120
|
+
const result = [];
|
|
121
|
+
for (const set of admissible) {
|
|
122
|
+
const defended = (0, framework_1.characteristicFunction)(af, set);
|
|
123
|
+
if ((0, framework_1.setsEqual)(defended, set))
|
|
124
|
+
result.push(set);
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
function stableExtensions(af, options) {
|
|
129
|
+
const admissible = enumerateAdmissibleSets(af, options);
|
|
130
|
+
const result = [];
|
|
131
|
+
for (const set of admissible) {
|
|
132
|
+
if (isStable(af, set))
|
|
133
|
+
result.push(set);
|
|
134
|
+
}
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
function semiStableExtensions(af, options) {
|
|
138
|
+
const completes = completeExtensions(af, options);
|
|
139
|
+
if (completes.length === 0)
|
|
140
|
+
return [];
|
|
141
|
+
let bestRange = -1;
|
|
142
|
+
let candidates = [];
|
|
143
|
+
for (const set of completes) {
|
|
144
|
+
const range = set.size + (0, framework_1.attackedBySet)(af, set).size;
|
|
145
|
+
if (range > bestRange) {
|
|
146
|
+
bestRange = range;
|
|
147
|
+
candidates = [set];
|
|
148
|
+
}
|
|
149
|
+
else if (range === bestRange) {
|
|
150
|
+
candidates.push(set);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return maximalSets(candidates);
|
|
154
|
+
}
|
|
155
|
+
function computeExtensions(af, semantics, options = {}) {
|
|
156
|
+
const opts = {
|
|
157
|
+
exhaustiveLimit: options.exhaustiveLimit ?? types_1.DEFAULT_EXHAUSTIVE_LIMIT,
|
|
158
|
+
warnOnLarge: options.warnOnLarge ?? true,
|
|
159
|
+
};
|
|
160
|
+
switch (semantics) {
|
|
161
|
+
case 'grounded':
|
|
162
|
+
return [groundedExtension(af)];
|
|
163
|
+
case 'preferred':
|
|
164
|
+
return preferredExtensions(af, opts);
|
|
165
|
+
case 'stable':
|
|
166
|
+
return stableExtensions(af, opts);
|
|
167
|
+
case 'complete':
|
|
168
|
+
return completeExtensions(af, opts);
|
|
169
|
+
case 'semi-stable':
|
|
170
|
+
return semiStableExtensions(af, opts);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/argumentation/extensions.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,4DAA4D;AAC5D,+DAA+D;;AAiB/D,8CAOC;AAED,gCAIC;AAED,4BAQC;AA8BD,gDAmBC;AAsBD,kDAMC;AAED,gDAWC;AAED,4CAUC;AAED,oDAkBC;AAED,8CAqBC;AAtLD,mCAAmD;AACnD,2CAOqB;AAErB,SAAS,QAAQ;IACf,OAAO,IAAI,GAAG,EAAU,CAAC;AAC3B,CAAC;AAED,SAAgB,iBAAiB,CAAC,EAA0B;IAC1D,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,IAAA,kCAAsB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,IAAA,qBAAS,EAAC,OAAO,EAAE,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC;QAC7C,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,EAA0B,EAAE,GAAgB;IACrE,IAAI,CAAC,IAAA,wBAAY,EAAC,EAAE,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,kCAAsB,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,IAAA,qBAAS,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,QAAQ,CAAC,EAA0B,EAAE,GAAgB;IACnE,IAAI,CAAC,IAAA,0BAAc,EAAC,EAAE,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAA,yBAAa,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,EAA0B,EAC1B,OAAiC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CACV,0BAA0B,MAAM,CAAC,CAAC,CAAC,wCAAwC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAClI,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,GAAG,KAAK,SAAS;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,IAAA,wBAAY,EAAC,EAAE,EAAE,MAAM,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAe,CAAC,CAAC,kBAAkB,CAAC,EAA0B;IAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,0BAA0B,MAAM,CAAC,CAAC,CAAC,+EAA+E,CACnH,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,GAAG,KAAK,SAAS;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,IAAA,wBAAY,EAAC,EAAE,EAAE,MAAM,CAAC;YAAE,MAAM,MAAM,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAmB;IACtC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS;QACtC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAS;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,IAAI,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,IAAA,oBAAQ,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC9D,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,mBAAmB,CACjC,EAA0B,EAC1B,OAAiC;IAEjC,MAAM,UAAU,GAAG,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,kBAAkB,CAChC,EAA0B,EAC1B,OAAiC;IAEjC,MAAM,UAAU,GAAG,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAA,kCAAsB,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,IAAA,qBAAS,EAAC,QAAQ,EAAE,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,gBAAgB,CAC9B,EAA0B,EAC1B,OAAiC;IAEjC,MAAM,UAAU,GAAG,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,oBAAoB,CAClC,EAA0B,EAC1B,OAAiC;IAEjC,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,UAAU,GAAkB,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,IAAA,yBAAa,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;QACrD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC;YAClB,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,iBAAiB,CAC/B,EAA0B,EAC1B,SAAoB,EACpB,UAA0B,EAAE;IAE5B,MAAM,IAAI,GAA6B;QACrC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,gCAAwB;QACpE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;KACzC,CAAC;IACF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,KAAK,WAAW;YACd,OAAO,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,UAAU;YACb,OAAO,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,KAAK,aAAa;YAChB,OAAO,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ArgumentationFramework } from './types';
|
|
2
|
+
export declare function createFramework(args: Iterable<string>, attacks: Iterable<[string, string]>): ArgumentationFramework;
|
|
3
|
+
export declare function attackersOf(af: ArgumentationFramework, arg: string): Set<string>;
|
|
4
|
+
export declare function attackedBy(af: ArgumentationFramework, arg: string): Set<string>;
|
|
5
|
+
export declare function attackedBySet(af: ArgumentationFramework, set: Set<string>): Set<string>;
|
|
6
|
+
export declare function isConflictFree(af: ArgumentationFramework, set: Set<string>): boolean;
|
|
7
|
+
export declare function defends(af: ArgumentationFramework, set: Set<string>, arg: string): boolean;
|
|
8
|
+
export declare function hasAttack(af: ArgumentationFramework, from: string, to: string): boolean;
|
|
9
|
+
export declare function isAdmissible(af: ArgumentationFramework, set: Set<string>): boolean;
|
|
10
|
+
export declare function characteristicFunction(af: ArgumentationFramework, set: Set<string>): Set<string>;
|
|
11
|
+
export declare function setsEqual(a: Set<string>, b: Set<string>): boolean;
|
|
12
|
+
export declare function isSubset(a: Set<string>, b: Set<string>): boolean;
|
|
13
|
+
//# sourceMappingURL=framework.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../src/argumentation/framework.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,OAAO,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAClC,sBAAsB,CAaxB;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAMhF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAM/E;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAMvF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAKpF;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAa1F;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAKvF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAMlF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAMhG;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAIjE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAIhE"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Argumentation — Core predicates sobre AF de Dung
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createFramework = createFramework;
|
|
7
|
+
exports.attackersOf = attackersOf;
|
|
8
|
+
exports.attackedBy = attackedBy;
|
|
9
|
+
exports.attackedBySet = attackedBySet;
|
|
10
|
+
exports.isConflictFree = isConflictFree;
|
|
11
|
+
exports.defends = defends;
|
|
12
|
+
exports.hasAttack = hasAttack;
|
|
13
|
+
exports.isAdmissible = isAdmissible;
|
|
14
|
+
exports.characteristicFunction = characteristicFunction;
|
|
15
|
+
exports.setsEqual = setsEqual;
|
|
16
|
+
exports.isSubset = isSubset;
|
|
17
|
+
function createFramework(args, attacks) {
|
|
18
|
+
const argSet = new Set(args);
|
|
19
|
+
const attackList = [];
|
|
20
|
+
for (const [a, b] of attacks) {
|
|
21
|
+
if (!argSet.has(a)) {
|
|
22
|
+
throw new Error(`Attack source "${a}" not in arguments`);
|
|
23
|
+
}
|
|
24
|
+
if (!argSet.has(b)) {
|
|
25
|
+
throw new Error(`Attack target "${b}" not in arguments`);
|
|
26
|
+
}
|
|
27
|
+
attackList.push([a, b]);
|
|
28
|
+
}
|
|
29
|
+
return { arguments: argSet, attacks: attackList };
|
|
30
|
+
}
|
|
31
|
+
function attackersOf(af, arg) {
|
|
32
|
+
const result = new Set();
|
|
33
|
+
for (const [a, b] of af.attacks) {
|
|
34
|
+
if (b === arg)
|
|
35
|
+
result.add(a);
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
function attackedBy(af, arg) {
|
|
40
|
+
const result = new Set();
|
|
41
|
+
for (const [a, b] of af.attacks) {
|
|
42
|
+
if (a === arg)
|
|
43
|
+
result.add(b);
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
function attackedBySet(af, set) {
|
|
48
|
+
const result = new Set();
|
|
49
|
+
for (const [a, b] of af.attacks) {
|
|
50
|
+
if (set.has(a))
|
|
51
|
+
result.add(b);
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
function isConflictFree(af, set) {
|
|
56
|
+
for (const [a, b] of af.attacks) {
|
|
57
|
+
if (set.has(a) && set.has(b))
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
function defends(af, set, arg) {
|
|
63
|
+
const attackers = attackersOf(af, arg);
|
|
64
|
+
for (const attacker of attackers) {
|
|
65
|
+
let defended = false;
|
|
66
|
+
for (const member of set) {
|
|
67
|
+
if (hasAttack(af, member, attacker)) {
|
|
68
|
+
defended = true;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (!defended)
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
function hasAttack(af, from, to) {
|
|
78
|
+
for (const [a, b] of af.attacks) {
|
|
79
|
+
if (a === from && b === to)
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
function isAdmissible(af, set) {
|
|
85
|
+
if (!isConflictFree(af, set))
|
|
86
|
+
return false;
|
|
87
|
+
for (const member of set) {
|
|
88
|
+
if (!defends(af, set, member))
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
function characteristicFunction(af, set) {
|
|
94
|
+
const result = new Set();
|
|
95
|
+
for (const arg of af.arguments) {
|
|
96
|
+
if (defends(af, set, arg))
|
|
97
|
+
result.add(arg);
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
function setsEqual(a, b) {
|
|
102
|
+
if (a.size !== b.size)
|
|
103
|
+
return false;
|
|
104
|
+
for (const x of a)
|
|
105
|
+
if (!b.has(x))
|
|
106
|
+
return false;
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
function isSubset(a, b) {
|
|
110
|
+
if (a.size > b.size)
|
|
111
|
+
return false;
|
|
112
|
+
for (const x of a)
|
|
113
|
+
if (!b.has(x))
|
|
114
|
+
return false;
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=framework.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/argumentation/framework.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { ArgumentationFramework, Semantics, ComputeOptions } from './types';
|
|
2
|
+
export { DEFAULT_EXHAUSTIVE_LIMIT } from './types';
|
|
3
|
+
export { createFramework, attackersOf, attackedBy, attackedBySet, hasAttack, isConflictFree, defends, isAdmissible, characteristicFunction, setsEqual, isSubset, } from './framework';
|
|
4
|
+
export { groundedExtension, preferredExtensions, stableExtensions, completeExtensions, semiStableExtensions, isComplete, isStable, lazyAdmissibleSets, computeExtensions, } from './extensions';
|
|
5
|
+
export { dotExport } from './dot';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/argumentation/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,OAAO,EACP,YAAY,EACZ,sBAAsB,EACtB,SAAS,EACT,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Argumentation — Barrel export (Dung framework)
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.dotExport = exports.computeExtensions = exports.lazyAdmissibleSets = exports.isStable = exports.isComplete = exports.semiStableExtensions = exports.completeExtensions = exports.stableExtensions = exports.preferredExtensions = exports.groundedExtension = exports.isSubset = exports.setsEqual = exports.characteristicFunction = exports.isAdmissible = exports.defends = exports.isConflictFree = exports.hasAttack = exports.attackedBySet = exports.attackedBy = exports.attackersOf = exports.createFramework = exports.DEFAULT_EXHAUSTIVE_LIMIT = void 0;
|
|
7
|
+
var types_1 = require("./types");
|
|
8
|
+
Object.defineProperty(exports, "DEFAULT_EXHAUSTIVE_LIMIT", { enumerable: true, get: function () { return types_1.DEFAULT_EXHAUSTIVE_LIMIT; } });
|
|
9
|
+
var framework_1 = require("./framework");
|
|
10
|
+
Object.defineProperty(exports, "createFramework", { enumerable: true, get: function () { return framework_1.createFramework; } });
|
|
11
|
+
Object.defineProperty(exports, "attackersOf", { enumerable: true, get: function () { return framework_1.attackersOf; } });
|
|
12
|
+
Object.defineProperty(exports, "attackedBy", { enumerable: true, get: function () { return framework_1.attackedBy; } });
|
|
13
|
+
Object.defineProperty(exports, "attackedBySet", { enumerable: true, get: function () { return framework_1.attackedBySet; } });
|
|
14
|
+
Object.defineProperty(exports, "hasAttack", { enumerable: true, get: function () { return framework_1.hasAttack; } });
|
|
15
|
+
Object.defineProperty(exports, "isConflictFree", { enumerable: true, get: function () { return framework_1.isConflictFree; } });
|
|
16
|
+
Object.defineProperty(exports, "defends", { enumerable: true, get: function () { return framework_1.defends; } });
|
|
17
|
+
Object.defineProperty(exports, "isAdmissible", { enumerable: true, get: function () { return framework_1.isAdmissible; } });
|
|
18
|
+
Object.defineProperty(exports, "characteristicFunction", { enumerable: true, get: function () { return framework_1.characteristicFunction; } });
|
|
19
|
+
Object.defineProperty(exports, "setsEqual", { enumerable: true, get: function () { return framework_1.setsEqual; } });
|
|
20
|
+
Object.defineProperty(exports, "isSubset", { enumerable: true, get: function () { return framework_1.isSubset; } });
|
|
21
|
+
var extensions_1 = require("./extensions");
|
|
22
|
+
Object.defineProperty(exports, "groundedExtension", { enumerable: true, get: function () { return extensions_1.groundedExtension; } });
|
|
23
|
+
Object.defineProperty(exports, "preferredExtensions", { enumerable: true, get: function () { return extensions_1.preferredExtensions; } });
|
|
24
|
+
Object.defineProperty(exports, "stableExtensions", { enumerable: true, get: function () { return extensions_1.stableExtensions; } });
|
|
25
|
+
Object.defineProperty(exports, "completeExtensions", { enumerable: true, get: function () { return extensions_1.completeExtensions; } });
|
|
26
|
+
Object.defineProperty(exports, "semiStableExtensions", { enumerable: true, get: function () { return extensions_1.semiStableExtensions; } });
|
|
27
|
+
Object.defineProperty(exports, "isComplete", { enumerable: true, get: function () { return extensions_1.isComplete; } });
|
|
28
|
+
Object.defineProperty(exports, "isStable", { enumerable: true, get: function () { return extensions_1.isStable; } });
|
|
29
|
+
Object.defineProperty(exports, "lazyAdmissibleSets", { enumerable: true, get: function () { return extensions_1.lazyAdmissibleSets; } });
|
|
30
|
+
Object.defineProperty(exports, "computeExtensions", { enumerable: true, get: function () { return extensions_1.computeExtensions; } });
|
|
31
|
+
var dot_1 = require("./dot");
|
|
32
|
+
Object.defineProperty(exports, "dotExport", { enumerable: true, get: function () { return dot_1.dotExport; } });
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/argumentation/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,oDAAoD;AACpD,+DAA+D;;;AAG/D,iCAAmD;AAA1C,iHAAA,wBAAwB,OAAA;AACjC,yCAYqB;AAXnB,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AACX,uGAAA,UAAU,OAAA;AACV,0GAAA,aAAa,OAAA;AACb,sGAAA,SAAS,OAAA;AACT,2GAAA,cAAc,OAAA;AACd,oGAAA,OAAO,OAAA;AACP,yGAAA,YAAY,OAAA;AACZ,mHAAA,sBAAsB,OAAA;AACtB,sGAAA,SAAS,OAAA;AACT,qGAAA,QAAQ,OAAA;AAEV,2CAUsB;AATpB,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AACnB,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,wGAAA,UAAU,OAAA;AACV,sGAAA,QAAQ,OAAA;AACR,gHAAA,kBAAkB,OAAA;AAClB,+GAAA,iBAAiB,OAAA;AAEnB,6BAAkC;AAAzB,gGAAA,SAAS,OAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ArgumentationFramework {
|
|
2
|
+
arguments: Set<string>;
|
|
3
|
+
attacks: Array<[string, string]>;
|
|
4
|
+
}
|
|
5
|
+
export type Semantics = 'grounded' | 'preferred' | 'stable' | 'complete' | 'semi-stable';
|
|
6
|
+
export interface ComputeOptions {
|
|
7
|
+
exhaustiveLimit?: number;
|
|
8
|
+
warnOnLarge?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const DEFAULT_EXHAUSTIVE_LIMIT = 20;
|
|
11
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/argumentation/types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;AAEzF,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,wBAAwB,KAAK,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Argumentation — Dung framework types
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DEFAULT_EXHAUSTIVE_LIMIT = void 0;
|
|
7
|
+
exports.DEFAULT_EXHAUSTIVE_LIMIT = 20;
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/argumentation/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,0CAA0C;AAC1C,+DAA+D;;;AAclD,QAAA,wBAAwB,GAAG,EAAE,CAAC"}
|