@stevenvo780/st-lang 4.2.0 → 4.4.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/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -1
- package/dist/index.js.map +1 -1
- package/dist/lambda-calc/church.d.ts +8 -0
- package/dist/lambda-calc/church.d.ts.map +1 -0
- package/dist/lambda-calc/church.js +67 -0
- package/dist/lambda-calc/church.js.map +1 -0
- package/dist/lambda-calc/combinators.d.ts +8 -0
- package/dist/lambda-calc/combinators.d.ts.map +1 -0
- package/dist/lambda-calc/combinators.js +24 -0
- package/dist/lambda-calc/combinators.js.map +1 -0
- package/dist/lambda-calc/index.d.ts +8 -0
- package/dist/lambda-calc/index.d.ts.map +1 -0
- package/dist/lambda-calc/index.js +48 -0
- package/dist/lambda-calc/index.js.map +1 -0
- package/dist/lambda-calc/reduce.d.ts +18 -0
- package/dist/lambda-calc/reduce.d.ts.map +1 -0
- package/dist/lambda-calc/reduce.js +174 -0
- package/dist/lambda-calc/reduce.js.map +1 -0
- package/dist/lambda-calc/substitution.d.ts +6 -0
- package/dist/lambda-calc/substitution.d.ts.map +1 -0
- package/dist/lambda-calc/substitution.js +120 -0
- package/dist/lambda-calc/substitution.js.map +1 -0
- package/dist/lambda-calc/types.d.ts +19 -0
- package/dist/lambda-calc/types.d.ts.map +1 -0
- package/dist/lambda-calc/types.js +72 -0
- package/dist/lambda-calc/types.js.map +1 -0
- package/dist/mltt/equality.d.ts +9 -0
- package/dist/mltt/equality.d.ts.map +1 -0
- package/dist/mltt/equality.js +79 -0
- package/dist/mltt/equality.js.map +1 -0
- package/dist/mltt/index.d.ts +8 -0
- package/dist/mltt/index.d.ts.map +1 -0
- package/dist/mltt/index.js +49 -0
- package/dist/mltt/index.js.map +1 -0
- package/dist/mltt/infer.d.ts +17 -0
- package/dist/mltt/infer.d.ts.map +1 -0
- package/dist/mltt/infer.js +269 -0
- package/dist/mltt/infer.js.map +1 -0
- package/dist/mltt/normalize.d.ts +7 -0
- package/dist/mltt/normalize.d.ts.map +1 -0
- package/dist/mltt/normalize.js +131 -0
- package/dist/mltt/normalize.js.map +1 -0
- package/dist/mltt/substitute.d.ts +4 -0
- package/dist/mltt/substitute.d.ts.map +1 -0
- package/dist/mltt/substitute.js +94 -0
- package/dist/mltt/substitute.js.map +1 -0
- package/dist/mltt/types.d.ts +72 -0
- package/dist/mltt/types.d.ts.map +1 -0
- package/dist/mltt/types.js +211 -0
- package/dist/mltt/types.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/formula.d.ts +19 -0
- package/dist/profiles/intuitionistic-nj/formula.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/formula.js +99 -0
- package/dist/profiles/intuitionistic-nj/formula.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/index.d.ts +5 -0
- package/dist/profiles/intuitionistic-nj/index.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/index.js +24 -0
- package/dist/profiles/intuitionistic-nj/index.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/kripke.d.ts +17 -0
- package/dist/profiles/intuitionistic-nj/kripke.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/kripke.js +206 -0
- package/dist/profiles/intuitionistic-nj/kripke.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/prover.d.ts +13 -0
- package/dist/profiles/intuitionistic-nj/prover.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/prover.js +418 -0
- package/dist/profiles/intuitionistic-nj/prover.js.map +1 -0
- package/dist/profiles/intuitionistic-nj/types.d.ts +55 -0
- package/dist/profiles/intuitionistic-nj/types.d.ts.map +1 -0
- package/dist/profiles/intuitionistic-nj/types.js +21 -0
- package/dist/profiles/intuitionistic-nj/types.js.map +1 -0
- package/dist/profiles/many-valued/index.d.ts +39 -0
- package/dist/profiles/many-valued/index.d.ts.map +1 -0
- package/dist/profiles/many-valued/index.js +250 -0
- package/dist/profiles/many-valued/index.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/formula.d.ts +23 -0
- package/dist/profiles/modal-frame-axioms/formula.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/formula.js +158 -0
- package/dist/profiles/modal-frame-axioms/formula.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/index.d.ts +6 -0
- package/dist/profiles/modal-frame-axioms/index.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/index.js +41 -0
- package/dist/profiles/modal-frame-axioms/index.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/systems.d.ts +29 -0
- package/dist/profiles/modal-frame-axioms/systems.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/systems.js +96 -0
- package/dist/profiles/modal-frame-axioms/systems.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/tableau.d.ts +12 -0
- package/dist/profiles/modal-frame-axioms/tableau.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/tableau.js +299 -0
- package/dist/profiles/modal-frame-axioms/tableau.js.map +1 -0
- package/dist/profiles/modal-frame-axioms/types.d.ts +61 -0
- package/dist/profiles/modal-frame-axioms/types.d.ts.map +1 -0
- package/dist/profiles/modal-frame-axioms/types.js +27 -0
- package/dist/profiles/modal-frame-axioms/types.js.map +1 -0
- package/dist/profiles/mu-calculus/check.d.ts +15 -0
- package/dist/profiles/mu-calculus/check.d.ts.map +1 -0
- package/dist/profiles/mu-calculus/check.js +172 -0
- package/dist/profiles/mu-calculus/check.js.map +1 -0
- package/dist/profiles/mu-calculus/ctl-translate.d.ts +61 -0
- package/dist/profiles/mu-calculus/ctl-translate.d.ts.map +1 -0
- package/dist/profiles/mu-calculus/ctl-translate.js +181 -0
- package/dist/profiles/mu-calculus/ctl-translate.js.map +1 -0
- package/dist/profiles/mu-calculus/index.d.ts +7 -0
- package/dist/profiles/mu-calculus/index.d.ts.map +1 -0
- package/dist/profiles/mu-calculus/index.js +33 -0
- package/dist/profiles/mu-calculus/index.js.map +1 -0
- package/dist/profiles/mu-calculus/types.d.ts +51 -0
- package/dist/profiles/mu-calculus/types.d.ts.map +1 -0
- package/dist/profiles/mu-calculus/types.js +42 -0
- package/dist/profiles/mu-calculus/types.js.map +1 -0
- package/dist/profiles/mu-calculus/wellformed.d.ts +40 -0
- package/dist/profiles/mu-calculus/wellformed.d.ts.map +1 -0
- package/dist/profiles/mu-calculus/wellformed.js +160 -0
- package/dist/profiles/mu-calculus/wellformed.js.map +1 -0
- package/dist/profiles/sequent-lk/cut-elimination.d.ts +11 -0
- package/dist/profiles/sequent-lk/cut-elimination.d.ts.map +1 -0
- package/dist/profiles/sequent-lk/cut-elimination.js +216 -0
- package/dist/profiles/sequent-lk/cut-elimination.js.map +1 -0
- package/dist/profiles/sequent-lk/index.d.ts +5 -0
- package/dist/profiles/sequent-lk/index.d.ts.map +1 -0
- package/dist/profiles/sequent-lk/index.js +24 -0
- package/dist/profiles/sequent-lk/index.js.map +1 -0
- package/dist/profiles/sequent-lk/prover.d.ts +25 -0
- package/dist/profiles/sequent-lk/prover.d.ts.map +1 -0
- package/dist/profiles/sequent-lk/prover.js +532 -0
- package/dist/profiles/sequent-lk/prover.js.map +1 -0
- package/dist/profiles/sequent-lk/types.d.ts +55 -0
- package/dist/profiles/sequent-lk/types.d.ts.map +1 -0
- package/dist/profiles/sequent-lk/types.js +18 -0
- package/dist/profiles/sequent-lk/types.js.map +1 -0
- package/dist/profiles/sequent-lk/util.d.ts +18 -0
- package/dist/profiles/sequent-lk/util.d.ts.map +1 -0
- package/dist/profiles/sequent-lk/util.js +71 -0
- package/dist/profiles/sequent-lk/util.js.map +1 -0
- package/dist/profiles/substructural/index.d.ts +4 -0
- package/dist/profiles/substructural/index.d.ts.map +1 -0
- package/dist/profiles/substructural/index.js +22 -0
- package/dist/profiles/substructural/index.js.map +1 -0
- package/dist/profiles/substructural/prover.d.ts +13 -0
- package/dist/profiles/substructural/prover.d.ts.map +1 -0
- package/dist/profiles/substructural/prover.js +481 -0
- package/dist/profiles/substructural/prover.js.map +1 -0
- package/dist/profiles/substructural/types.d.ts +72 -0
- package/dist/profiles/substructural/types.d.ts.map +1 -0
- package/dist/profiles/substructural/types.js +27 -0
- package/dist/profiles/substructural/types.js.map +1 -0
- package/dist/refinement-types/checker.d.ts +19 -0
- package/dist/refinement-types/checker.d.ts.map +1 -0
- package/dist/refinement-types/checker.js +248 -0
- package/dist/refinement-types/checker.js.map +1 -0
- package/dist/refinement-types/index.d.ts +11 -0
- package/dist/refinement-types/index.d.ts.map +1 -0
- package/dist/refinement-types/index.js +51 -0
- package/dist/refinement-types/index.js.map +1 -0
- package/dist/refinement-types/predicate.d.ts +31 -0
- package/dist/refinement-types/predicate.d.ts.map +1 -0
- package/dist/refinement-types/predicate.js +369 -0
- package/dist/refinement-types/predicate.js.map +1 -0
- package/dist/refinement-types/solver.d.ts +24 -0
- package/dist/refinement-types/solver.d.ts.map +1 -0
- package/dist/refinement-types/solver.js +207 -0
- package/dist/refinement-types/solver.js.map +1 -0
- package/dist/refinement-types/subtype.d.ts +14 -0
- package/dist/refinement-types/subtype.d.ts.map +1 -0
- package/dist/refinement-types/subtype.js +39 -0
- package/dist/refinement-types/subtype.js.map +1 -0
- package/dist/refinement-types/types.d.ts +64 -0
- package/dist/refinement-types/types.d.ts.map +1 -0
- package/dist/refinement-types/types.js +130 -0
- package/dist/refinement-types/types.js.map +1 -0
- package/dist/runtime/abduction/entails.d.ts +21 -0
- package/dist/runtime/abduction/entails.d.ts.map +1 -0
- package/dist/runtime/abduction/entails.js +308 -0
- package/dist/runtime/abduction/entails.js.map +1 -0
- package/dist/runtime/abduction/find.d.ts +18 -0
- package/dist/runtime/abduction/find.d.ts.map +1 -0
- package/dist/runtime/abduction/find.js +202 -0
- package/dist/runtime/abduction/find.js.map +1 -0
- package/dist/runtime/abduction/index.d.ts +4 -0
- package/dist/runtime/abduction/index.d.ts.map +1 -0
- package/dist/runtime/abduction/index.js +26 -0
- package/dist/runtime/abduction/index.js.map +1 -0
- package/dist/runtime/abduction/types.d.ts +78 -0
- package/dist/runtime/abduction/types.d.ts.map +1 -0
- package/dist/runtime/abduction/types.js +23 -0
- package/dist/runtime/abduction/types.js.map +1 -0
- package/dist/runtime/anti-unification/anti-unify.d.ts +22 -0
- package/dist/runtime/anti-unification/anti-unify.d.ts.map +1 -0
- package/dist/runtime/anti-unification/anti-unify.js +154 -0
- package/dist/runtime/anti-unification/anti-unify.js.map +1 -0
- package/dist/runtime/anti-unification/index.d.ts +6 -0
- package/dist/runtime/anti-unification/index.d.ts.map +1 -0
- package/dist/runtime/anti-unification/index.js +23 -0
- package/dist/runtime/anti-unification/index.js.map +1 -0
- package/dist/runtime/anti-unification/many.d.ts +49 -0
- package/dist/runtime/anti-unification/many.d.ts.map +1 -0
- package/dist/runtime/anti-unification/many.js +185 -0
- package/dist/runtime/anti-unification/many.js.map +1 -0
- package/dist/runtime/anti-unification/term-utils.d.ts +40 -0
- package/dist/runtime/anti-unification/term-utils.d.ts.map +1 -0
- package/dist/runtime/anti-unification/term-utils.js +173 -0
- package/dist/runtime/anti-unification/term-utils.js.map +1 -0
- package/dist/runtime/anti-unification/types.d.ts +41 -0
- package/dist/runtime/anti-unification/types.d.ts.map +1 -0
- package/dist/runtime/anti-unification/types.js +26 -0
- package/dist/runtime/anti-unification/types.js.map +1 -0
- package/dist/runtime/bayesian/factor.d.ts +22 -0
- package/dist/runtime/bayesian/factor.d.ts.map +1 -0
- package/dist/runtime/bayesian/factor.js +249 -0
- package/dist/runtime/bayesian/factor.js.map +1 -0
- package/dist/runtime/bayesian/index.d.ts +3 -0
- package/dist/runtime/bayesian/index.d.ts.map +1 -0
- package/dist/runtime/bayesian/index.js +25 -0
- package/dist/runtime/bayesian/index.js.map +1 -0
- package/dist/runtime/bayesian/inference.d.ts +6 -0
- package/dist/runtime/bayesian/inference.d.ts.map +1 -0
- package/dist/runtime/bayesian/inference.js +260 -0
- package/dist/runtime/bayesian/inference.js.map +1 -0
- package/dist/runtime/bayesian/types.d.ts +19 -0
- package/dist/runtime/bayesian/types.d.ts.map +1 -0
- package/dist/runtime/bayesian/types.js +9 -0
- package/dist/runtime/bayesian/types.js.map +1 -0
- package/dist/runtime/bisimulation/index.d.ts +4 -0
- package/dist/runtime/bisimulation/index.d.ts.map +1 -0
- package/dist/runtime/bisimulation/index.js +21 -0
- package/dist/runtime/bisimulation/index.js.map +1 -0
- package/dist/runtime/bisimulation/operations.d.ts +40 -0
- package/dist/runtime/bisimulation/operations.d.ts.map +1 -0
- package/dist/runtime/bisimulation/operations.js +219 -0
- package/dist/runtime/bisimulation/operations.js.map +1 -0
- package/dist/runtime/bisimulation/paige-tarjan.d.ts +8 -0
- package/dist/runtime/bisimulation/paige-tarjan.d.ts.map +1 -0
- package/dist/runtime/bisimulation/paige-tarjan.js +199 -0
- package/dist/runtime/bisimulation/paige-tarjan.js.map +1 -0
- package/dist/runtime/bisimulation/types.d.ts +26 -0
- package/dist/runtime/bisimulation/types.d.ts.map +1 -0
- package/dist/runtime/bisimulation/types.js +22 -0
- package/dist/runtime/bisimulation/types.js.map +1 -0
- package/dist/runtime/csp/ac3.d.ts +20 -0
- package/dist/runtime/csp/ac3.d.ts.map +1 -0
- package/dist/runtime/csp/ac3.js +165 -0
- package/dist/runtime/csp/ac3.js.map +1 -0
- package/dist/runtime/csp/backtrack.d.ts +15 -0
- package/dist/runtime/csp/backtrack.d.ts.map +1 -0
- package/dist/runtime/csp/backtrack.js +233 -0
- package/dist/runtime/csp/backtrack.js.map +1 -0
- package/dist/runtime/csp/builtins.d.ts +27 -0
- package/dist/runtime/csp/builtins.d.ts.map +1 -0
- package/dist/runtime/csp/builtins.js +109 -0
- package/dist/runtime/csp/builtins.js.map +1 -0
- package/dist/runtime/csp/index.d.ts +5 -0
- package/dist/runtime/csp/index.d.ts.map +1 -0
- package/dist/runtime/csp/index.js +23 -0
- package/dist/runtime/csp/index.js.map +1 -0
- package/dist/runtime/csp/types.d.ts +54 -0
- package/dist/runtime/csp/types.d.ts.map +1 -0
- package/dist/runtime/csp/types.js +14 -0
- package/dist/runtime/csp/types.js.map +1 -0
- package/dist/runtime/fca/context.d.ts +46 -0
- package/dist/runtime/fca/context.d.ts.map +1 -0
- package/dist/runtime/fca/context.js +155 -0
- package/dist/runtime/fca/context.js.map +1 -0
- package/dist/runtime/fca/implications.d.ts +10 -0
- package/dist/runtime/fca/implications.d.ts.map +1 -0
- package/dist/runtime/fca/implications.js +33 -0
- package/dist/runtime/fca/implications.js.map +1 -0
- package/dist/runtime/fca/index.d.ts +6 -0
- package/dist/runtime/fca/index.d.ts.map +1 -0
- package/dist/runtime/fca/index.js +39 -0
- package/dist/runtime/fca/index.js.map +1 -0
- package/dist/runtime/fca/lattice.d.ts +10 -0
- package/dist/runtime/fca/lattice.d.ts.map +1 -0
- package/dist/runtime/fca/lattice.js +86 -0
- package/dist/runtime/fca/lattice.js.map +1 -0
- package/dist/runtime/fca/next-closure.d.ts +12 -0
- package/dist/runtime/fca/next-closure.d.ts.map +1 -0
- package/dist/runtime/fca/next-closure.js +99 -0
- package/dist/runtime/fca/next-closure.js.map +1 -0
- package/dist/runtime/fca/types.d.ts +31 -0
- package/dist/runtime/fca/types.d.ts.map +1 -0
- package/dist/runtime/fca/types.js +30 -0
- package/dist/runtime/fca/types.js.map +1 -0
- package/dist/runtime/markov-logic/grounding.d.ts +19 -0
- package/dist/runtime/markov-logic/grounding.d.ts.map +1 -0
- package/dist/runtime/markov-logic/grounding.js +252 -0
- package/dist/runtime/markov-logic/grounding.js.map +1 -0
- package/dist/runtime/markov-logic/index.d.ts +6 -0
- package/dist/runtime/markov-logic/index.d.ts.map +1 -0
- package/dist/runtime/markov-logic/index.js +47 -0
- package/dist/runtime/markov-logic/index.js.map +1 -0
- package/dist/runtime/markov-logic/inference.d.ts +77 -0
- package/dist/runtime/markov-logic/inference.d.ts.map +1 -0
- package/dist/runtime/markov-logic/inference.js +382 -0
- package/dist/runtime/markov-logic/inference.js.map +1 -0
- package/dist/runtime/markov-logic/parser.d.ts +25 -0
- package/dist/runtime/markov-logic/parser.d.ts.map +1 -0
- package/dist/runtime/markov-logic/parser.js +264 -0
- package/dist/runtime/markov-logic/parser.js.map +1 -0
- package/dist/runtime/markov-logic/types.d.ts +64 -0
- package/dist/runtime/markov-logic/types.d.ts.map +1 -0
- package/dist/runtime/markov-logic/types.js +17 -0
- package/dist/runtime/markov-logic/types.js.map +1 -0
- package/dist/runtime/pi-calculus/congruence.d.ts +15 -0
- package/dist/runtime/pi-calculus/congruence.d.ts.map +1 -0
- package/dist/runtime/pi-calculus/congruence.js +271 -0
- package/dist/runtime/pi-calculus/congruence.js.map +1 -0
- package/dist/runtime/pi-calculus/index.d.ts +6 -0
- package/dist/runtime/pi-calculus/index.d.ts.map +1 -0
- package/dist/runtime/pi-calculus/index.js +30 -0
- package/dist/runtime/pi-calculus/index.js.map +1 -0
- package/dist/runtime/pi-calculus/names.d.ts +28 -0
- package/dist/runtime/pi-calculus/names.d.ts.map +1 -0
- package/dist/runtime/pi-calculus/names.js +182 -0
- package/dist/runtime/pi-calculus/names.js.map +1 -0
- package/dist/runtime/pi-calculus/reduction.d.ts +25 -0
- package/dist/runtime/pi-calculus/reduction.d.ts.map +1 -0
- package/dist/runtime/pi-calculus/reduction.js +338 -0
- package/dist/runtime/pi-calculus/reduction.js.map +1 -0
- package/dist/runtime/pi-calculus/substitution.d.ts +11 -0
- package/dist/runtime/pi-calculus/substitution.d.ts.map +1 -0
- package/dist/runtime/pi-calculus/substitution.js +109 -0
- package/dist/runtime/pi-calculus/substitution.js.map +1 -0
- package/dist/runtime/pi-calculus/types.d.ts +38 -0
- package/dist/runtime/pi-calculus/types.d.ts.map +1 -0
- package/dist/runtime/pi-calculus/types.js +22 -0
- package/dist/runtime/pi-calculus/types.js.map +1 -0
- package/dist/runtime/planning/astar.d.ts +10 -0
- package/dist/runtime/planning/astar.d.ts.map +1 -0
- package/dist/runtime/planning/astar.js +155 -0
- package/dist/runtime/planning/astar.js.map +1 -0
- package/dist/runtime/planning/bfs.d.ts +17 -0
- package/dist/runtime/planning/bfs.d.ts.map +1 -0
- package/dist/runtime/planning/bfs.js +87 -0
- package/dist/runtime/planning/bfs.js.map +1 -0
- package/dist/runtime/planning/ground.d.ts +55 -0
- package/dist/runtime/planning/ground.d.ts.map +1 -0
- package/dist/runtime/planning/ground.js +154 -0
- package/dist/runtime/planning/ground.js.map +1 -0
- package/dist/runtime/planning/heuristic.d.ts +29 -0
- package/dist/runtime/planning/heuristic.d.ts.map +1 -0
- package/dist/runtime/planning/heuristic.js +172 -0
- package/dist/runtime/planning/heuristic.js.map +1 -0
- package/dist/runtime/planning/index.d.ts +6 -0
- package/dist/runtime/planning/index.d.ts.map +1 -0
- package/dist/runtime/planning/index.js +38 -0
- package/dist/runtime/planning/index.js.map +1 -0
- package/dist/runtime/planning/types.d.ts +100 -0
- package/dist/runtime/planning/types.d.ts.map +1 -0
- package/dist/runtime/planning/types.js +22 -0
- package/dist/runtime/planning/types.js.map +1 -0
- package/dist/runtime/proof-minify/index.d.ts +3 -0
- package/dist/runtime/proof-minify/index.d.ts.map +1 -0
- package/dist/runtime/proof-minify/index.js +13 -0
- package/dist/runtime/proof-minify/index.js.map +1 -0
- package/dist/runtime/proof-minify/minify.d.ts +13 -0
- package/dist/runtime/proof-minify/minify.d.ts.map +1 -0
- package/dist/runtime/proof-minify/minify.js +540 -0
- package/dist/runtime/proof-minify/minify.js.map +1 -0
- package/dist/runtime/proof-minify/types.d.ts +89 -0
- package/dist/runtime/proof-minify/types.d.ts.map +1 -0
- package/dist/runtime/proof-minify/types.js +16 -0
- package/dist/runtime/proof-minify/types.js.map +1 -0
- package/dist/runtime/symbolic-diff/constructors.d.ts +16 -0
- package/dist/runtime/symbolic-diff/constructors.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/constructors.js +75 -0
- package/dist/runtime/symbolic-diff/constructors.js.map +1 -0
- package/dist/runtime/symbolic-diff/differentiate.d.ts +22 -0
- package/dist/runtime/symbolic-diff/differentiate.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/differentiate.js +107 -0
- package/dist/runtime/symbolic-diff/differentiate.js.map +1 -0
- package/dist/runtime/symbolic-diff/evaluate.d.ts +3 -0
- package/dist/runtime/symbolic-diff/evaluate.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/evaluate.js +47 -0
- package/dist/runtime/symbolic-diff/evaluate.js.map +1 -0
- package/dist/runtime/symbolic-diff/index.d.ts +9 -0
- package/dist/runtime/symbolic-diff/index.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/index.js +34 -0
- package/dist/runtime/symbolic-diff/index.js.map +1 -0
- package/dist/runtime/symbolic-diff/parse.d.ts +16 -0
- package/dist/runtime/symbolic-diff/parse.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/parse.js +212 -0
- package/dist/runtime/symbolic-diff/parse.js.map +1 -0
- package/dist/runtime/symbolic-diff/simplify.d.ts +11 -0
- package/dist/runtime/symbolic-diff/simplify.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/simplify.js +214 -0
- package/dist/runtime/symbolic-diff/simplify.js.map +1 -0
- package/dist/runtime/symbolic-diff/stringify.d.ts +3 -0
- package/dist/runtime/symbolic-diff/stringify.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/stringify.js +69 -0
- package/dist/runtime/symbolic-diff/stringify.js.map +1 -0
- package/dist/runtime/symbolic-diff/types.d.ts +35 -0
- package/dist/runtime/symbolic-diff/types.d.ts.map +1 -0
- package/dist/runtime/symbolic-diff/types.js +9 -0
- package/dist/runtime/symbolic-diff/types.js.map +1 -0
- package/dist/runtime/term-rewriting/critical-pairs.d.ts +38 -0
- package/dist/runtime/term-rewriting/critical-pairs.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/critical-pairs.js +109 -0
- package/dist/runtime/term-rewriting/critical-pairs.js.map +1 -0
- package/dist/runtime/term-rewriting/index.d.ts +9 -0
- package/dist/runtime/term-rewriting/index.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/index.js +38 -0
- package/dist/runtime/term-rewriting/index.js.map +1 -0
- package/dist/runtime/term-rewriting/knuth-bendix.d.ts +29 -0
- package/dist/runtime/term-rewriting/knuth-bendix.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/knuth-bendix.js +196 -0
- package/dist/runtime/term-rewriting/knuth-bendix.js.map +1 -0
- package/dist/runtime/term-rewriting/lpo.d.ts +17 -0
- package/dist/runtime/term-rewriting/lpo.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/lpo.js +158 -0
- package/dist/runtime/term-rewriting/lpo.js.map +1 -0
- package/dist/runtime/term-rewriting/rewrite.d.ts +44 -0
- package/dist/runtime/term-rewriting/rewrite.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/rewrite.js +189 -0
- package/dist/runtime/term-rewriting/rewrite.js.map +1 -0
- package/dist/runtime/term-rewriting/term-utils.d.ts +64 -0
- package/dist/runtime/term-rewriting/term-utils.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/term-utils.js +360 -0
- package/dist/runtime/term-rewriting/term-utils.js.map +1 -0
- package/dist/runtime/term-rewriting/types.d.ts +66 -0
- package/dist/runtime/term-rewriting/types.d.ts.map +1 -0
- package/dist/runtime/term-rewriting/types.js +21 -0
- package/dist/runtime/term-rewriting/types.js.map +1 -0
- package/dist/runtime/theorem-cache/cache.d.ts +100 -0
- package/dist/runtime/theorem-cache/cache.d.ts.map +1 -0
- package/dist/runtime/theorem-cache/cache.js +213 -0
- package/dist/runtime/theorem-cache/cache.js.map +1 -0
- package/dist/runtime/theorem-cache/canonical.d.ts +59 -0
- package/dist/runtime/theorem-cache/canonical.d.ts.map +1 -0
- package/dist/runtime/theorem-cache/canonical.js +105 -0
- package/dist/runtime/theorem-cache/canonical.js.map +1 -0
- package/dist/runtime/theorem-cache/index.d.ts +6 -0
- package/dist/runtime/theorem-cache/index.d.ts.map +1 -0
- package/dist/runtime/theorem-cache/index.js +16 -0
- package/dist/runtime/theorem-cache/index.js.map +1 -0
- package/dist/runtime/theorem-cache/pattern.d.ts +24 -0
- package/dist/runtime/theorem-cache/pattern.d.ts.map +1 -0
- package/dist/runtime/theorem-cache/pattern.js +80 -0
- package/dist/runtime/theorem-cache/pattern.js.map +1 -0
- package/dist/system-f/index.d.ts +7 -0
- package/dist/system-f/index.d.ts.map +1 -0
- package/dist/system-f/index.js +48 -0
- package/dist/system-f/index.js.map +1 -0
- package/dist/system-f/infer.d.ts +9 -0
- package/dist/system-f/infer.d.ts.map +1 -0
- package/dist/system-f/infer.js +94 -0
- package/dist/system-f/infer.js.map +1 -0
- package/dist/system-f/reduce.d.ts +15 -0
- package/dist/system-f/reduce.d.ts.map +1 -0
- package/dist/system-f/reduce.js +259 -0
- package/dist/system-f/reduce.js.map +1 -0
- package/dist/system-f/types.d.ts +53 -0
- package/dist/system-f/types.d.ts.map +1 -0
- package/dist/system-f/types.js +157 -0
- package/dist/system-f/types.js.map +1 -0
- package/dist/tests/abduction/abduction.test.d.ts +2 -0
- package/dist/tests/abduction/abduction.test.d.ts.map +1 -0
- package/dist/tests/abduction/abduction.test.js +380 -0
- package/dist/tests/abduction/abduction.test.js.map +1 -0
- package/dist/tests/anti-unification/anti-unify.test.d.ts +2 -0
- package/dist/tests/anti-unification/anti-unify.test.d.ts.map +1 -0
- package/dist/tests/anti-unification/anti-unify.test.js +219 -0
- package/dist/tests/anti-unification/anti-unify.test.js.map +1 -0
- package/dist/tests/bayesian/bayesian.test.d.ts +2 -0
- package/dist/tests/bayesian/bayesian.test.d.ts.map +1 -0
- package/dist/tests/bayesian/bayesian.test.js +328 -0
- package/dist/tests/bayesian/bayesian.test.js.map +1 -0
- package/dist/tests/bisimulation/paige-tarjan.test.d.ts +2 -0
- package/dist/tests/bisimulation/paige-tarjan.test.d.ts.map +1 -0
- package/dist/tests/bisimulation/paige-tarjan.test.js +254 -0
- package/dist/tests/bisimulation/paige-tarjan.test.js.map +1 -0
- package/dist/tests/coverage-fill-aristotelian.test.js +1 -1
- package/dist/tests/coverage-fill-aristotelian.test.js.map +1 -1
- package/dist/tests/coverage-fill-fallacies.test.js +1 -1
- package/dist/tests/coverage-fill-fallacies.test.js.map +1 -1
- package/dist/tests/coverage-fill-format.test.js +1 -1
- package/dist/tests/coverage-fill-format.test.js.map +1 -1
- package/dist/tests/coverage-fill-intuitionistic.test.js +1 -1
- package/dist/tests/coverage-fill-intuitionistic.test.js.map +1 -1
- package/dist/tests/coverage-fill-probabilistic.test.js +1 -1
- package/dist/tests/coverage-fill-probabilistic.test.js.map +1 -1
- package/dist/tests/csp/csp.test.d.ts +2 -0
- package/dist/tests/csp/csp.test.d.ts.map +1 -0
- package/dist/tests/csp/csp.test.js +292 -0
- package/dist/tests/csp/csp.test.js.map +1 -0
- package/dist/tests/fca/fca.test.d.ts +2 -0
- package/dist/tests/fca/fca.test.d.ts.map +1 -0
- package/dist/tests/fca/fca.test.js +317 -0
- package/dist/tests/fca/fca.test.js.map +1 -0
- package/dist/tests/intuitionistic-nj/nj.test.d.ts +2 -0
- package/dist/tests/intuitionistic-nj/nj.test.d.ts.map +1 -0
- package/dist/tests/intuitionistic-nj/nj.test.js +216 -0
- package/dist/tests/intuitionistic-nj/nj.test.js.map +1 -0
- package/dist/tests/lambda-calc/lambda-calc.test.d.ts +2 -0
- package/dist/tests/lambda-calc/lambda-calc.test.d.ts.map +1 -0
- package/dist/tests/lambda-calc/lambda-calc.test.js +164 -0
- package/dist/tests/lambda-calc/lambda-calc.test.js.map +1 -0
- package/dist/tests/many-valued/many-valued.test.d.ts +2 -0
- package/dist/tests/many-valued/many-valued.test.d.ts.map +1 -0
- package/dist/tests/many-valued/many-valued.test.js +150 -0
- package/dist/tests/many-valued/many-valued.test.js.map +1 -0
- package/dist/tests/markov-logic/markov-logic.test.d.ts +2 -0
- package/dist/tests/markov-logic/markov-logic.test.d.ts.map +1 -0
- package/dist/tests/markov-logic/markov-logic.test.js +349 -0
- package/dist/tests/markov-logic/markov-logic.test.js.map +1 -0
- package/dist/tests/mltt/mltt.test.d.ts +2 -0
- package/dist/tests/mltt/mltt.test.d.ts.map +1 -0
- package/dist/tests/mltt/mltt.test.js +181 -0
- package/dist/tests/mltt/mltt.test.js.map +1 -0
- package/dist/tests/modal-frame-axioms/frame-axioms.test.d.ts +2 -0
- package/dist/tests/modal-frame-axioms/frame-axioms.test.d.ts.map +1 -0
- package/dist/tests/modal-frame-axioms/frame-axioms.test.js +236 -0
- package/dist/tests/modal-frame-axioms/frame-axioms.test.js.map +1 -0
- package/dist/tests/mu-calculus/check.test.d.ts +2 -0
- package/dist/tests/mu-calculus/check.test.d.ts.map +1 -0
- package/dist/tests/mu-calculus/check.test.js +234 -0
- package/dist/tests/mu-calculus/check.test.js.map +1 -0
- package/dist/tests/pi-calculus/pi-calculus.test.d.ts +2 -0
- package/dist/tests/pi-calculus/pi-calculus.test.d.ts.map +1 -0
- package/dist/tests/pi-calculus/pi-calculus.test.js +273 -0
- package/dist/tests/pi-calculus/pi-calculus.test.js.map +1 -0
- package/dist/tests/planning/planning.test.d.ts +2 -0
- package/dist/tests/planning/planning.test.d.ts.map +1 -0
- package/dist/tests/planning/planning.test.js +397 -0
- package/dist/tests/planning/planning.test.js.map +1 -0
- package/dist/tests/proof-minify/minify.test.d.ts +2 -0
- package/dist/tests/proof-minify/minify.test.d.ts.map +1 -0
- package/dist/tests/proof-minify/minify.test.js +281 -0
- package/dist/tests/proof-minify/minify.test.js.map +1 -0
- package/dist/tests/refinement-types/refinement-types.test.d.ts +2 -0
- package/dist/tests/refinement-types/refinement-types.test.d.ts.map +1 -0
- package/dist/tests/refinement-types/refinement-types.test.js +174 -0
- package/dist/tests/refinement-types/refinement-types.test.js.map +1 -0
- package/dist/tests/sequent-lk/prover.test.d.ts +2 -0
- package/dist/tests/sequent-lk/prover.test.d.ts.map +1 -0
- package/dist/tests/sequent-lk/prover.test.js +317 -0
- package/dist/tests/sequent-lk/prover.test.js.map +1 -0
- package/dist/tests/substructural/prover.test.d.ts +2 -0
- package/dist/tests/substructural/prover.test.d.ts.map +1 -0
- package/dist/tests/substructural/prover.test.js +271 -0
- package/dist/tests/substructural/prover.test.js.map +1 -0
- package/dist/tests/symbolic-diff/symbolic-diff.test.d.ts +2 -0
- package/dist/tests/symbolic-diff/symbolic-diff.test.d.ts.map +1 -0
- package/dist/tests/symbolic-diff/symbolic-diff.test.js +278 -0
- package/dist/tests/symbolic-diff/symbolic-diff.test.js.map +1 -0
- package/dist/tests/system-f/system-f.test.d.ts +2 -0
- package/dist/tests/system-f/system-f.test.d.ts.map +1 -0
- package/dist/tests/system-f/system-f.test.js +217 -0
- package/dist/tests/system-f/system-f.test.js.map +1 -0
- package/dist/tests/term-rewriting/critical-pairs.test.d.ts +2 -0
- package/dist/tests/term-rewriting/critical-pairs.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/critical-pairs.test.js +34 -0
- package/dist/tests/term-rewriting/critical-pairs.test.js.map +1 -0
- package/dist/tests/term-rewriting/knuth-bendix.test.d.ts +2 -0
- package/dist/tests/term-rewriting/knuth-bendix.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/knuth-bendix.test.js +94 -0
- package/dist/tests/term-rewriting/knuth-bendix.test.js.map +1 -0
- package/dist/tests/term-rewriting/lpo.test.d.ts +2 -0
- package/dist/tests/term-rewriting/lpo.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/lpo.test.js +57 -0
- package/dist/tests/term-rewriting/lpo.test.js.map +1 -0
- package/dist/tests/term-rewriting/rewrite.test.d.ts +2 -0
- package/dist/tests/term-rewriting/rewrite.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/rewrite.test.js +56 -0
- package/dist/tests/term-rewriting/rewrite.test.js.map +1 -0
- package/dist/tests/term-rewriting/term-utils.test.d.ts +2 -0
- package/dist/tests/term-rewriting/term-utils.test.d.ts.map +1 -0
- package/dist/tests/term-rewriting/term-utils.test.js +58 -0
- package/dist/tests/term-rewriting/term-utils.test.js.map +1 -0
- package/dist/tests/theorem-cache/cache.test.d.ts +2 -0
- package/dist/tests/theorem-cache/cache.test.d.ts.map +1 -0
- package/dist/tests/theorem-cache/cache.test.js +510 -0
- package/dist/tests/theorem-cache/cache.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// Tests del tableau modal con axiomas de frame
|
|
4
|
+
// ============================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const vitest_1 = require("vitest");
|
|
7
|
+
const modal_frame_axioms_1 = require("../../profiles/modal-frame-axioms");
|
|
8
|
+
const p = (0, modal_frame_axioms_1.atom)('p');
|
|
9
|
+
const q = (0, modal_frame_axioms_1.atom)('q');
|
|
10
|
+
// ------------------------------------------------------------
|
|
11
|
+
// Sistemas y composición
|
|
12
|
+
// ------------------------------------------------------------
|
|
13
|
+
(0, vitest_1.describe)('systemAxioms — composición de sistemas estándar', () => {
|
|
14
|
+
(0, vitest_1.it)('K no tiene axiomas de frame', () => {
|
|
15
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.systemAxioms)('K')).toEqual([]);
|
|
16
|
+
});
|
|
17
|
+
(0, vitest_1.it)('T = {T}', () => {
|
|
18
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.systemAxioms)('T').sort()).toEqual(['T']);
|
|
19
|
+
});
|
|
20
|
+
(0, vitest_1.it)('S4 = {T, 4}', () => {
|
|
21
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.systemAxioms)('S4').sort()).toEqual(['4', 'T']);
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.it)('S5 = {T, 4, 5}', () => {
|
|
24
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.systemAxioms)('S5').sort()).toEqual(['4', '5', 'T']);
|
|
25
|
+
});
|
|
26
|
+
(0, vitest_1.it)('B = {T, B}', () => {
|
|
27
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.systemAxioms)('B').sort()).toEqual(['B', 'T']);
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.it)('KD45 = {D, 4, 5}', () => {
|
|
30
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.systemAxioms)('KD45').sort()).toEqual(['4', '5', 'D']);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
// ------------------------------------------------------------
|
|
34
|
+
// Cada axioma es válido en su sistema mínimo y refutable en K
|
|
35
|
+
// ------------------------------------------------------------
|
|
36
|
+
(0, vitest_1.describe)('axiomas individuales — válidos en su sistema, no en K', () => {
|
|
37
|
+
const cases = [
|
|
38
|
+
{ axiom: 'T', system: 'T' },
|
|
39
|
+
{ axiom: '4', system: 'K4' },
|
|
40
|
+
{ axiom: '5', system: 'K5' },
|
|
41
|
+
{ axiom: 'B', system: 'B' },
|
|
42
|
+
{ axiom: 'D', system: 'D' },
|
|
43
|
+
];
|
|
44
|
+
for (const { axiom, system } of cases) {
|
|
45
|
+
(0, vitest_1.it)(`axioma ${axiom} válido en ${system}`, () => {
|
|
46
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.axiomFormula)(axiom, p), system)).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
(0, vitest_1.it)(`axioma ${axiom} NO válido en K`, () => {
|
|
49
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.axiomFormula)(axiom, p), 'K')).toBe(false);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
// ------------------------------------------------------------
|
|
54
|
+
// Axiomas característicos canónicos por sistema
|
|
55
|
+
// ------------------------------------------------------------
|
|
56
|
+
(0, vitest_1.describe)('S4 — reflexivo + transitivo', () => {
|
|
57
|
+
(0, vitest_1.it)('□p → □□p es válido (axioma 4)', () => {
|
|
58
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.box)(p))), 'S4')).toBe(true);
|
|
59
|
+
});
|
|
60
|
+
(0, vitest_1.it)('□p → p es válido (axioma T)', () => {
|
|
61
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), p), 'S4')).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
(0, vitest_1.it)('◇◇p → ◇p es válido (densidad bajo trans)', () => {
|
|
64
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.diamond)((0, modal_frame_axioms_1.diamond)(p)), (0, modal_frame_axioms_1.diamond)(p)), 'S4')).toBe(true);
|
|
65
|
+
});
|
|
66
|
+
(0, vitest_1.it)('◇p → □◇p NO es válido (axioma 5 no se cumple en S4)', () => {
|
|
67
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.diamond)(p), (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.diamond)(p))), 'S4')).toBe(false);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
(0, vitest_1.describe)('S5 — equivalencia', () => {
|
|
71
|
+
(0, vitest_1.it)('◇p → □◇p es válido (axioma 5)', () => {
|
|
72
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.diamond)(p), (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.diamond)(p))), 'S5')).toBe(true);
|
|
73
|
+
});
|
|
74
|
+
(0, vitest_1.it)('p → □◇p es válido (axioma B)', () => {
|
|
75
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)(p, (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.diamond)(p))), 'S5')).toBe(true);
|
|
76
|
+
});
|
|
77
|
+
(0, vitest_1.it)('□p ↔ ¬◇¬p, formulado como □p → ¬◇¬p, válido', () => {
|
|
78
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.not)((0, modal_frame_axioms_1.diamond)((0, modal_frame_axioms_1.not)(p)))), 'S5')).toBe(true);
|
|
79
|
+
});
|
|
80
|
+
(0, vitest_1.it)('◇□p → p es válido (resultado clásico S5)', () => {
|
|
81
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.diamond)((0, modal_frame_axioms_1.box)(p)), p), 'S5')).toBe(true);
|
|
82
|
+
});
|
|
83
|
+
(0, vitest_1.it)('◇□p → □p es válido en S5 pero no en S4', () => {
|
|
84
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.diamond)((0, modal_frame_axioms_1.box)(p)), (0, modal_frame_axioms_1.box)(p)), 'S5')).toBe(true);
|
|
85
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.diamond)((0, modal_frame_axioms_1.box)(p)), (0, modal_frame_axioms_1.box)(p)), 'S4')).toBe(false);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
(0, vitest_1.describe)('T — reflexividad', () => {
|
|
89
|
+
(0, vitest_1.it)('□p → p es válido en T', () => {
|
|
90
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), p), 'T')).toBe(true);
|
|
91
|
+
});
|
|
92
|
+
(0, vitest_1.it)('p → ◇p es válido en T (dual de T)', () => {
|
|
93
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)(p, (0, modal_frame_axioms_1.diamond)(p)), 'T')).toBe(true);
|
|
94
|
+
});
|
|
95
|
+
(0, vitest_1.it)('□p → ◇p es válido en T (refl ⇒ serial)', () => {
|
|
96
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.diamond)(p)), 'T')).toBe(true);
|
|
97
|
+
});
|
|
98
|
+
(0, vitest_1.it)('□p → □□p NO es válido en T (no hay transitividad)', () => {
|
|
99
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.box)(p))), 'T')).toBe(false);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
(0, vitest_1.describe)('K — sin axiomas de frame', () => {
|
|
103
|
+
(0, vitest_1.it)('□p → p NO es válido en K', () => {
|
|
104
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), p), 'K')).toBe(false);
|
|
105
|
+
});
|
|
106
|
+
(0, vitest_1.it)('□p → ◇p NO es válido en K (sin D)', () => {
|
|
107
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.diamond)(p)), 'K')).toBe(false);
|
|
108
|
+
});
|
|
109
|
+
(0, vitest_1.it)('axioma K válido: □(p→q) → (□p→□q)', () => {
|
|
110
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.implies)(p, q)), (0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.box)(q))), 'K')).toBe(true);
|
|
111
|
+
});
|
|
112
|
+
(0, vitest_1.it)('necesitación: □(p ∨ ¬p) válido en cualquier sistema normal', () => {
|
|
113
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.or)(p, (0, modal_frame_axioms_1.not)(p))), 'K')).toBe(true);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
(0, vitest_1.describe)('D — serialidad', () => {
|
|
117
|
+
(0, vitest_1.it)('□p → ◇p es válido en D', () => {
|
|
118
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.diamond)(p)), 'D')).toBe(true);
|
|
119
|
+
});
|
|
120
|
+
(0, vitest_1.it)('¬(□p ∧ □¬p) es válido en D (consistencia normativa)', () => {
|
|
121
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.not)((0, modal_frame_axioms_1.and)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.not)(p)))), 'D')).toBe(true);
|
|
122
|
+
});
|
|
123
|
+
(0, vitest_1.it)('□p → p NO es válido en D (D no implica T)', () => {
|
|
124
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), p), 'D')).toBe(false);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
(0, vitest_1.describe)('B — simetría (KTB)', () => {
|
|
128
|
+
(0, vitest_1.it)('p → □◇p válido en B (axioma B)', () => {
|
|
129
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)(p, (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.diamond)(p))), 'B')).toBe(true);
|
|
130
|
+
});
|
|
131
|
+
(0, vitest_1.it)('◇□p → p válido en B', () => {
|
|
132
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.diamond)((0, modal_frame_axioms_1.box)(p)), p), 'B')).toBe(true);
|
|
133
|
+
});
|
|
134
|
+
(0, vitest_1.it)('□p → □□p NO válido en B (sin transitividad)', () => {
|
|
135
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.box)(p))), 'B')).toBe(false);
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
(0, vitest_1.describe)('KD45 — lógica doxástica estándar', () => {
|
|
139
|
+
(0, vitest_1.it)('axioma D válido: □p → ◇p', () => {
|
|
140
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.axiomFormula)('D', p), 'KD45')).toBe(true);
|
|
141
|
+
});
|
|
142
|
+
(0, vitest_1.it)('axioma 4 válido: □p → □□p (positive introspection)', () => {
|
|
143
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.axiomFormula)('4', p), 'KD45')).toBe(true);
|
|
144
|
+
});
|
|
145
|
+
(0, vitest_1.it)('axioma 5 válido: ◇p → □◇p (negative introspection)', () => {
|
|
146
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.axiomFormula)('5', p), 'KD45')).toBe(true);
|
|
147
|
+
});
|
|
148
|
+
(0, vitest_1.it)('□p → p NO válido en KD45 (creencia ≠ verdad)', () => {
|
|
149
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), p), 'KD45')).toBe(false);
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
// ------------------------------------------------------------
|
|
153
|
+
// Tableau directo y modelos
|
|
154
|
+
// ------------------------------------------------------------
|
|
155
|
+
(0, vitest_1.describe)('tableauWithAxioms — devuelve modelo cuando es satisfacible', () => {
|
|
156
|
+
(0, vitest_1.it)('p satisfacible en K — modelo con w0 forzando p', () => {
|
|
157
|
+
const r = (0, modal_frame_axioms_1.tableauWithAxioms)(p, []);
|
|
158
|
+
(0, vitest_1.expect)(r.sat).toBe(true);
|
|
159
|
+
(0, vitest_1.expect)(r.model).toBeDefined();
|
|
160
|
+
(0, vitest_1.expect)(r.model.valuation.get(r.model.actual)?.has('p')).toBe(true);
|
|
161
|
+
});
|
|
162
|
+
(0, vitest_1.it)('□p ∧ ¬p satisfacible en K (irreflexivo) — closed=false', () => {
|
|
163
|
+
const r = (0, modal_frame_axioms_1.tableauWithAxioms)((0, modal_frame_axioms_1.and)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.not)(p)), []);
|
|
164
|
+
(0, vitest_1.expect)(r.sat).toBe(true);
|
|
165
|
+
(0, vitest_1.expect)(r.closed).toBe(false);
|
|
166
|
+
});
|
|
167
|
+
(0, vitest_1.it)('□p ∧ ¬p insatisfacible en T (reflexivo) — closed=true', () => {
|
|
168
|
+
const r = (0, modal_frame_axioms_1.tableauWithAxioms)((0, modal_frame_axioms_1.and)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.not)(p)), ['T']);
|
|
169
|
+
(0, vitest_1.expect)(r.sat).toBe(false);
|
|
170
|
+
(0, vitest_1.expect)(r.closed).toBe(true);
|
|
171
|
+
(0, vitest_1.expect)(r.model).toBeUndefined();
|
|
172
|
+
});
|
|
173
|
+
(0, vitest_1.it)('contradicción proposicional cierra en cualquier sistema', () => {
|
|
174
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.tableauWithAxioms)((0, modal_frame_axioms_1.and)(p, (0, modal_frame_axioms_1.not)(p)), []).closed).toBe(true);
|
|
175
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.tableauWithAxioms)((0, modal_frame_axioms_1.and)(p, (0, modal_frame_axioms_1.not)(p)), ['T']).closed).toBe(true);
|
|
176
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.tableauWithAxioms)((0, modal_frame_axioms_1.and)(p, (0, modal_frame_axioms_1.not)(p)), ['T', '4', '5']).closed).toBe(true);
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
// ------------------------------------------------------------
|
|
180
|
+
// Composición / monotonía: T-validez ⊆ S4-validez ⊆ S5-validez
|
|
181
|
+
// ------------------------------------------------------------
|
|
182
|
+
(0, vitest_1.describe)('monotonía: añadir axiomas no quita validez', () => {
|
|
183
|
+
const formulas = [
|
|
184
|
+
(0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), p), // T-válido
|
|
185
|
+
(0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.box)(p))), // 4-válido
|
|
186
|
+
(0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.diamond)(p)), // T,D-válido
|
|
187
|
+
];
|
|
188
|
+
for (const phi of formulas) {
|
|
189
|
+
(0, vitest_1.it)(`si φ válida en T también lo es en S4 y S5`, () => {
|
|
190
|
+
if ((0, modal_frame_axioms_1.isValid)(phi, 'T')) {
|
|
191
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)(phi, 'S4')).toBe(true);
|
|
192
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)(phi, 'S5')).toBe(true);
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
// ------------------------------------------------------------
|
|
198
|
+
// Casos negativos: claras refutaciones
|
|
199
|
+
// ------------------------------------------------------------
|
|
200
|
+
(0, vitest_1.describe)('refutaciones explícitas', () => {
|
|
201
|
+
(0, vitest_1.it)('p → □p NO válido en S5 (sólo si universal)', () => {
|
|
202
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)(p, (0, modal_frame_axioms_1.box)(p)), 'S5')).toBe(false);
|
|
203
|
+
});
|
|
204
|
+
(0, vitest_1.it)('◇p → p NO válido en T (T no da simetría)', () => {
|
|
205
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.diamond)(p), p), 'T')).toBe(false);
|
|
206
|
+
});
|
|
207
|
+
(0, vitest_1.it)('□◇p → ◇□p NO válido en S4 (McKinsey no es teorema)', () => {
|
|
208
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)((0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)((0, modal_frame_axioms_1.diamond)(p)), (0, modal_frame_axioms_1.diamond)((0, modal_frame_axioms_1.box)(p))), 'S4')).toBe(false);
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
// ------------------------------------------------------------
|
|
212
|
+
// isSatisfiable directo
|
|
213
|
+
// ------------------------------------------------------------
|
|
214
|
+
(0, vitest_1.describe)('isSatisfiable — consistencia con isValid', () => {
|
|
215
|
+
(0, vitest_1.it)('p satisfacible en todos los sistemas', () => {
|
|
216
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isSatisfiable)(p, 'K')).toBe(true);
|
|
217
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isSatisfiable)(p, 'T')).toBe(true);
|
|
218
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isSatisfiable)(p, 'S5')).toBe(true);
|
|
219
|
+
});
|
|
220
|
+
(0, vitest_1.it)('p ∧ ¬p insatisfacible en todos los sistemas', () => {
|
|
221
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isSatisfiable)((0, modal_frame_axioms_1.and)(p, (0, modal_frame_axioms_1.not)(p)), 'K')).toBe(false);
|
|
222
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isSatisfiable)((0, modal_frame_axioms_1.and)(p, (0, modal_frame_axioms_1.not)(p)), 'KD45')).toBe(false);
|
|
223
|
+
});
|
|
224
|
+
(0, vitest_1.it)('isValid(φ) ⇔ ¬isSatisfiable(¬φ)', () => {
|
|
225
|
+
const phi = (0, modal_frame_axioms_1.implies)((0, modal_frame_axioms_1.box)(p), p);
|
|
226
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)(phi, 'T')).toBe(!(0, modal_frame_axioms_1.isSatisfiable)((0, modal_frame_axioms_1.not)(phi), 'T'));
|
|
227
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isValid)(phi, 'K')).toBe(!(0, modal_frame_axioms_1.isSatisfiable)((0, modal_frame_axioms_1.not)(phi), 'K'));
|
|
228
|
+
});
|
|
229
|
+
(0, vitest_1.it)('□p ∧ ¬p satisfacible en K (mundo aislado), insatisfacible en T', () => {
|
|
230
|
+
const phi = (0, modal_frame_axioms_1.and)((0, modal_frame_axioms_1.box)(p), (0, modal_frame_axioms_1.not)(p));
|
|
231
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isSatisfiable)(phi, 'K')).toBe(true);
|
|
232
|
+
// En T (reflexividad) w0 R w0, entonces □p fuerza p(w0), contradicción.
|
|
233
|
+
(0, vitest_1.expect)((0, modal_frame_axioms_1.isSatisfiable)(phi, 'T')).toBe(false);
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
//# sourceMappingURL=frame-axioms.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-axioms.test.js","sourceRoot":"","sources":["../../../src/tests/modal-frame-axioms/frame-axioms.test.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,+CAA+C;AAC/C,+DAA+D;;AAE/D,mCAA8C;AAC9C,0EAe2C;AAE3C,MAAM,CAAC,GAAG,IAAA,yBAAI,EAAC,GAAG,CAAC,CAAC;AACpB,MAAM,CAAC,GAAG,IAAA,yBAAI,EAAC,GAAG,CAAC,CAAC;AAEpB,+DAA+D;AAC/D,yBAAyB;AACzB,+DAA+D;AAE/D,IAAA,iBAAQ,EAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,IAAA,WAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,IAAA,eAAM,EAAC,IAAA,iCAAY,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,SAAS,EAAE,GAAG,EAAE;QACjB,IAAA,eAAM,EAAC,IAAA,iCAAY,EAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,aAAa,EAAE,GAAG,EAAE;QACrB,IAAA,eAAM,EAAC,IAAA,iCAAY,EAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,IAAA,eAAM,EAAC,IAAA,iCAAY,EAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,YAAY,EAAE,GAAG,EAAE;QACpB,IAAA,eAAM,EAAC,IAAA,iCAAY,EAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,IAAA,eAAM,EAAC,IAAA,iCAAY,EAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,8DAA8D;AAC9D,+DAA+D;AAE/D,IAAA,iBAAQ,EAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,MAAM,KAAK,GAAsD;QAC/D,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QAC5B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QAC5B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;KAC5B,CAAC;IAEF,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACtC,IAAA,WAAE,EAAC,UAAU,KAAK,cAAc,MAAM,EAAE,EAAE,GAAG,EAAE;YAC7C,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,UAAU,KAAK,iBAAiB,EAAE,GAAG,EAAE;YACxC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,gDAAgD;AAChD,+DAA+D;AAE/D,IAAA,iBAAQ,EAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,EAAE,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,CAAC,EAAE,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,IAAA,4BAAO,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,IAAA,uBAAE,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,WAAE,EAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,iCAAY,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,iCAAY,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,iCAAY,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,4BAA4B;AAC5B,+DAA+D;AAE/D,IAAA,iBAAQ,EAAC,4DAA4D,EAAE,GAAG,EAAE;IAC1E,IAAA,WAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,GAAG,IAAA,sCAAiB,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,IAAA,eAAM,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAA,eAAM,EAAC,CAAC,CAAC,KAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,GAAG,IAAA,sCAAiB,EAAC,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,IAAA,eAAM,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,IAAA,sCAAiB,EAAC,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,IAAA,eAAM,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAA,eAAM,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAA,eAAM,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,IAAA,eAAM,EAAC,IAAA,sCAAiB,EAAC,IAAA,wBAAG,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,IAAA,eAAM,EAAC,IAAA,sCAAiB,EAAC,IAAA,wBAAG,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,IAAA,sCAAiB,EAAC,IAAA,wBAAG,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,+DAA+D;AAC/D,+DAA+D;AAE/D,IAAA,iBAAQ,EAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,MAAM,QAAQ,GAAG;QACf,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW;QAC/B,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW;QACzC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,EAAE,aAAa;KAC3C,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAA,WAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,IAAI,IAAA,4BAAO,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,uCAAuC;AACvC,+DAA+D;AAE/D,IAAA,iBAAQ,EAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAA,WAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,EAAE,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAE/D,IAAA,iBAAQ,EAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,IAAA,eAAM,EAAC,IAAA,kCAAa,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,IAAA,kCAAa,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,IAAA,kCAAa,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,IAAA,eAAM,EAAC,IAAA,kCAAa,EAAC,IAAA,wBAAG,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,IAAA,kCAAa,EAAC,IAAA,wBAAG,EAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAA,4BAAO,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAA,kCAAa,EAAC,IAAA,wBAAG,EAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAA,eAAM,EAAC,IAAA,4BAAO,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAA,kCAAa,EAAC,IAAA,wBAAG,EAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,GAAG,GAAG,IAAA,wBAAG,EAAC,IAAA,wBAAG,EAAC,CAAC,CAAC,EAAE,IAAA,wBAAG,EAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAA,eAAM,EAAC,IAAA,kCAAa,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,wEAAwE;QACxE,IAAA,eAAM,EAAC,IAAA,kCAAa,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.test.d.ts","sourceRoot":"","sources":["../../../src/tests/mu-calculus/check.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const mu_calculus_1 = require("../../profiles/mu-calculus");
|
|
5
|
+
// ── helpers para construir AST ────────────────────────────────
|
|
6
|
+
const atom = (name) => ({ kind: 'atom', name });
|
|
7
|
+
const v = (name) => ({ kind: 'var', name });
|
|
8
|
+
const not = (arg) => ({ kind: 'not', arg });
|
|
9
|
+
const and = (left, right) => ({ kind: 'and', left, right });
|
|
10
|
+
const or = (left, right) => ({ kind: 'or', left, right });
|
|
11
|
+
const box = (arg) => ({ kind: 'box', arg });
|
|
12
|
+
const diamond = (arg) => ({ kind: 'diamond', arg });
|
|
13
|
+
const mu = (bind, body) => ({ kind: 'mu', bind, body });
|
|
14
|
+
const nu = (bind, body) => ({ kind: 'nu', bind, body });
|
|
15
|
+
function k(states, transitions, labels = {}) {
|
|
16
|
+
const labelling = {};
|
|
17
|
+
for (const s of states)
|
|
18
|
+
labelling[s] = new Set(labels[s] ?? []);
|
|
19
|
+
return { states, transitions, labelling };
|
|
20
|
+
}
|
|
21
|
+
(0, vitest_1.describe)('μ-calculus — operadores modales base (◇/□)', () => {
|
|
22
|
+
// s0 --> s1{p}, s0 --> s2
|
|
23
|
+
const M = k(['s0', 's1', 's2'], [
|
|
24
|
+
['s0', 's1'],
|
|
25
|
+
['s0', 's2'],
|
|
26
|
+
], { s1: ['p'] });
|
|
27
|
+
(0, vitest_1.it)('◇p: estados con algún sucesor que cumple p', () => {
|
|
28
|
+
const sat = (0, mu_calculus_1.modelCheck)(M, diamond(atom('p')));
|
|
29
|
+
(0, vitest_1.expect)(sat).toEqual(new Set(['s0']));
|
|
30
|
+
});
|
|
31
|
+
(0, vitest_1.it)('□p: estados cuyos sucesores TODOS cumplen p (deadlock incluido)', () => {
|
|
32
|
+
const sat = (0, mu_calculus_1.modelCheck)(M, box(atom('p')));
|
|
33
|
+
// s0: tiene un sucesor (s2) sin p ⇒ false
|
|
34
|
+
// s1, s2: deadlocks ⇒ vacuously true
|
|
35
|
+
(0, vitest_1.expect)(sat).toEqual(new Set(['s1', 's2']));
|
|
36
|
+
});
|
|
37
|
+
(0, vitest_1.it)('◇⊤ distingue deadlocks: solo estados con al menos un sucesor', () => {
|
|
38
|
+
const sat = (0, mu_calculus_1.modelCheck)(M, diamond(nu('T', v('T'))));
|
|
39
|
+
(0, vitest_1.expect)(sat).toEqual(new Set(['s0']));
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
(0, vitest_1.describe)('μ-calculus — least fixed-point (μ) y reachability', () => {
|
|
43
|
+
// Cadena: s0 -> s1 -> s2{p} -> s2 (auto-loop)
|
|
44
|
+
const M = k(['s0', 's1', 's2'], [
|
|
45
|
+
['s0', 's1'],
|
|
46
|
+
['s1', 's2'],
|
|
47
|
+
['s2', 's2'],
|
|
48
|
+
], { s2: ['p'] });
|
|
49
|
+
(0, vitest_1.it)('μX. p ∨ ◇X (EF p) — reachability hacia p', () => {
|
|
50
|
+
const phi = mu('X', or(atom('p'), diamond(v('X'))));
|
|
51
|
+
const sat = (0, mu_calculus_1.modelCheck)(M, phi);
|
|
52
|
+
(0, vitest_1.expect)(sat).toEqual(new Set(['s0', 's1', 's2']));
|
|
53
|
+
});
|
|
54
|
+
(0, vitest_1.it)('μX. p ∨ ◇X en grafo sin p alcanzable → ∅', () => {
|
|
55
|
+
const N = k(['a', 'b'], [['a', 'b']], {});
|
|
56
|
+
const phi = mu('X', or(atom('p'), diamond(v('X'))));
|
|
57
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(N, phi)).toEqual(new Set());
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
(0, vitest_1.describe)('μ-calculus — greatest fixed-point (ν) e invariance', () => {
|
|
61
|
+
(0, vitest_1.it)('νX. p ∧ □X (AG p) — invariante sobre todos los caminos', () => {
|
|
62
|
+
// Todos los estados etiquetados p, con loop
|
|
63
|
+
const M = k(['s0', 's1'], [
|
|
64
|
+
['s0', 's1'],
|
|
65
|
+
['s1', 's0'],
|
|
66
|
+
], { s0: ['p'], s1: ['p'] });
|
|
67
|
+
const phi = nu('X', and(atom('p'), box(v('X'))));
|
|
68
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, phi)).toEqual(new Set(['s0', 's1']));
|
|
69
|
+
});
|
|
70
|
+
(0, vitest_1.it)('νX. p ∧ □X falla cuando algún estado alcanzable rompe p', () => {
|
|
71
|
+
const M = k(['s0', 's1', 's2'], [
|
|
72
|
+
['s0', 's1'],
|
|
73
|
+
['s1', 's2'],
|
|
74
|
+
['s2', 's2'],
|
|
75
|
+
], { s0: ['p'], s1: ['p'] });
|
|
76
|
+
const phi = nu('X', and(atom('p'), box(v('X'))));
|
|
77
|
+
// Ningún estado satisface AG p porque s2 (alcanzable desde todos) no la cumple
|
|
78
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, phi)).toEqual(new Set());
|
|
79
|
+
});
|
|
80
|
+
(0, vitest_1.it)('νX. p ∧ ◇X (EG p) — existe camino infinito con p', () => {
|
|
81
|
+
// s0{p} -> s1{p} -> s0 (ciclo con p) ; s2{p} -> s3 (sin p, dead end)
|
|
82
|
+
const M = k(['s0', 's1', 's2', 's3'], [
|
|
83
|
+
['s0', 's1'],
|
|
84
|
+
['s1', 's0'],
|
|
85
|
+
['s2', 's3'],
|
|
86
|
+
], { s0: ['p'], s1: ['p'], s2: ['p'] });
|
|
87
|
+
const phi = nu('X', and(atom('p'), diamond(v('X'))));
|
|
88
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, phi)).toEqual(new Set(['s0', 's1']));
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
(0, vitest_1.describe)('μ-calculus — Until (E[q U p])', () => {
|
|
92
|
+
(0, vitest_1.it)('μX. p ∨ (q ∧ ◇X) — alcanza p manteniendo q en el camino', () => {
|
|
93
|
+
// s0{q} -> s1{q} -> s2{p}; s0 -> s3 (sin q ni p)
|
|
94
|
+
const M = k(['s0', 's1', 's2', 's3'], [
|
|
95
|
+
['s0', 's1'],
|
|
96
|
+
['s1', 's2'],
|
|
97
|
+
['s0', 's3'],
|
|
98
|
+
], { s0: ['q'], s1: ['q'], s2: ['p'] });
|
|
99
|
+
const phi = mu('X', or(atom('p'), and(atom('q'), diamond(v('X')))));
|
|
100
|
+
// s2 cumple p ⇒ ok. s1 tiene q y sucesor s2 cumple φ. s0 tiene q y sucesor s1 cumple φ.
|
|
101
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, phi)).toEqual(new Set(['s0', 's1', 's2']));
|
|
102
|
+
});
|
|
103
|
+
(0, vitest_1.it)('E[q U p] falla si el camino atraviesa estados sin q antes de p', () => {
|
|
104
|
+
// s0 (sin q) -> s1{p}: no satisface (necesita q en s0)
|
|
105
|
+
const M = k(['s0', 's1'], [['s0', 's1']], { s1: ['p'] });
|
|
106
|
+
const phi = mu('X', or(atom('p'), and(atom('q'), diamond(v('X')))));
|
|
107
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, phi)).toEqual(new Set(['s1']));
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
(0, vitest_1.describe)('μ-calculus — alternation depth', () => {
|
|
111
|
+
(0, vitest_1.it)('proposición atómica: depth 0', () => {
|
|
112
|
+
(0, vitest_1.expect)((0, mu_calculus_1.alternationDepth)(atom('p'))).toBe(0);
|
|
113
|
+
});
|
|
114
|
+
(0, vitest_1.it)('un solo binder μ: depth 1', () => {
|
|
115
|
+
(0, vitest_1.expect)((0, mu_calculus_1.alternationDepth)(mu('X', or(atom('p'), diamond(v('X')))))).toBe(1);
|
|
116
|
+
});
|
|
117
|
+
(0, vitest_1.it)('un solo binder ν: depth 1', () => {
|
|
118
|
+
(0, vitest_1.expect)((0, mu_calculus_1.alternationDepth)(nu('X', and(atom('p'), box(v('X')))))).toBe(1);
|
|
119
|
+
});
|
|
120
|
+
(0, vitest_1.it)('μν alternantes: depth 2', () => {
|
|
121
|
+
// μX. νY. (p ∨ X) ∧ ◇Y
|
|
122
|
+
const phi = mu('X', nu('Y', and(or(atom('p'), v('X')), diamond(v('Y')))));
|
|
123
|
+
(0, vitest_1.expect)((0, mu_calculus_1.alternationDepth)(phi)).toBe(2);
|
|
124
|
+
});
|
|
125
|
+
(0, vitest_1.it)('μμ anidados sin alternancia: depth 1', () => {
|
|
126
|
+
const phi = mu('X', mu('Y', or(v('X'), v('Y'))));
|
|
127
|
+
(0, vitest_1.expect)((0, mu_calculus_1.alternationDepth)(phi)).toBe(1);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
(0, vitest_1.describe)('μ-calculus — well-formedness', () => {
|
|
131
|
+
(0, vitest_1.it)('μX. p ∨ ◇X es positiva (X bajo 0 negaciones)', () => {
|
|
132
|
+
const phi = mu('X', or(atom('p'), diamond(v('X'))));
|
|
133
|
+
(0, vitest_1.expect)((0, mu_calculus_1.isWellFormed)(phi)).toBe(true);
|
|
134
|
+
});
|
|
135
|
+
(0, vitest_1.it)('μX. ¬X NO es bien formada (X bajo neg impar)', () => {
|
|
136
|
+
const phi = mu('X', not(v('X')));
|
|
137
|
+
(0, vitest_1.expect)((0, mu_calculus_1.isWellFormed)(phi)).toBe(false);
|
|
138
|
+
});
|
|
139
|
+
(0, vitest_1.it)('μX. ¬¬X es bien formada (X bajo neg par)', () => {
|
|
140
|
+
const phi = mu('X', not(not(v('X'))));
|
|
141
|
+
(0, vitest_1.expect)((0, mu_calculus_1.isWellFormed)(phi)).toBe(true);
|
|
142
|
+
});
|
|
143
|
+
(0, vitest_1.it)('detecta variables libres', () => {
|
|
144
|
+
const phi = or(atom('p'), v('X')); // X libre
|
|
145
|
+
(0, vitest_1.expect)((0, mu_calculus_1.isClosed)(phi)).toBe(false);
|
|
146
|
+
(0, vitest_1.expect)((0, mu_calculus_1.freeVars)(phi)).toEqual(new Set(['X']));
|
|
147
|
+
});
|
|
148
|
+
(0, vitest_1.it)('fórmula cerrada no reporta variables libres', () => {
|
|
149
|
+
const phi = nu('X', and(atom('p'), box(v('X'))));
|
|
150
|
+
(0, vitest_1.expect)((0, mu_calculus_1.isClosed)(phi)).toBe(true);
|
|
151
|
+
(0, vitest_1.expect)((0, mu_calculus_1.freeVars)(phi)).toEqual(new Set());
|
|
152
|
+
});
|
|
153
|
+
(0, vitest_1.it)('μX. p ∨ ◇(¬X) NO es bien formada — X bajo negación impar bajo ◇', () => {
|
|
154
|
+
const phi = mu('X', or(atom('p'), diamond(not(v('X')))));
|
|
155
|
+
(0, vitest_1.expect)((0, mu_calculus_1.isWellFormed)(phi)).toBe(false);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
(0, vitest_1.describe)('μ-calculus — ctlToMu translator', () => {
|
|
159
|
+
(0, vitest_1.it)('EX p → ◇p', () => {
|
|
160
|
+
const mu1 = (0, mu_calculus_1.ctlToMu)({ kind: 'EX', arg: { kind: 'atom', name: 'p' } });
|
|
161
|
+
(0, vitest_1.expect)(mu1).toEqual({ kind: 'diamond', arg: { kind: 'atom', name: 'p' } });
|
|
162
|
+
});
|
|
163
|
+
(0, vitest_1.it)('AX p → □p', () => {
|
|
164
|
+
const mu1 = (0, mu_calculus_1.ctlToMu)({ kind: 'AX', arg: { kind: 'atom', name: 'p' } });
|
|
165
|
+
(0, vitest_1.expect)(mu1).toEqual({ kind: 'box', arg: { kind: 'atom', name: 'p' } });
|
|
166
|
+
});
|
|
167
|
+
(0, vitest_1.it)('EF p produce μX. p ∨ ◇X equivalente al manual', () => {
|
|
168
|
+
const M = k(['s0', 's1'], [['s0', 's1']], { s1: ['p'] });
|
|
169
|
+
const muForm = (0, mu_calculus_1.ctlToMu)({ kind: 'EF', arg: { kind: 'atom', name: 'p' } });
|
|
170
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, muForm)).toEqual(new Set(['s0', 's1']));
|
|
171
|
+
});
|
|
172
|
+
(0, vitest_1.it)('AG p coincide con νX. p ∧ □X sobre modelos no triviales', () => {
|
|
173
|
+
const M = k(['s0', 's1'], [
|
|
174
|
+
['s0', 's1'],
|
|
175
|
+
['s1', 's0'],
|
|
176
|
+
], { s0: ['p'], s1: ['p'] });
|
|
177
|
+
const auto = (0, mu_calculus_1.ctlToMu)({ kind: 'AG', arg: { kind: 'atom', name: 'p' } });
|
|
178
|
+
const manual = nu('X', and(atom('p'), box(v('X'))));
|
|
179
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, auto)).toEqual((0, mu_calculus_1.modelCheck)(M, manual));
|
|
180
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, auto)).toEqual(new Set(['s0', 's1']));
|
|
181
|
+
});
|
|
182
|
+
(0, vitest_1.it)('EG p detecta camino infinito con p', () => {
|
|
183
|
+
const M = k(['s0', 's1', 's2'], [
|
|
184
|
+
['s0', 's1'],
|
|
185
|
+
['s1', 's0'],
|
|
186
|
+
['s2', 's2'],
|
|
187
|
+
], { s0: ['p'], s1: ['p'] });
|
|
188
|
+
const phi = (0, mu_calculus_1.ctlToMu)({ kind: 'EG', arg: { kind: 'atom', name: 'p' } });
|
|
189
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, phi)).toEqual(new Set(['s0', 's1']));
|
|
190
|
+
});
|
|
191
|
+
(0, vitest_1.it)('E[q U p] coincide con codificación manual', () => {
|
|
192
|
+
const M = k(['s0', 's1', 's2'], [
|
|
193
|
+
['s0', 's1'],
|
|
194
|
+
['s1', 's2'],
|
|
195
|
+
], { s0: ['q'], s1: ['q'], s2: ['p'] });
|
|
196
|
+
const auto = (0, mu_calculus_1.ctlToMu)({
|
|
197
|
+
kind: 'EU',
|
|
198
|
+
left: { kind: 'atom', name: 'q' },
|
|
199
|
+
right: { kind: 'atom', name: 'p' },
|
|
200
|
+
});
|
|
201
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, auto)).toEqual(new Set(['s0', 's1', 's2']));
|
|
202
|
+
});
|
|
203
|
+
(0, vitest_1.it)('not/and/or se traducen estructuralmente', () => {
|
|
204
|
+
const phi = (0, mu_calculus_1.ctlToMu)({
|
|
205
|
+
kind: 'and',
|
|
206
|
+
args: [
|
|
207
|
+
{ kind: 'atom', name: 'p' },
|
|
208
|
+
{ kind: 'not', arg: { kind: 'atom', name: 'q' } },
|
|
209
|
+
],
|
|
210
|
+
});
|
|
211
|
+
const M = k(['s0', 's1'], [], { s0: ['p'], s1: ['p', 'q'] });
|
|
212
|
+
(0, vitest_1.expect)((0, mu_calculus_1.modelCheck)(M, phi)).toEqual(new Set(['s0']));
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
(0, vitest_1.describe)('μ-calculus — utilidades', () => {
|
|
216
|
+
(0, vitest_1.it)('muToString renderiza con símbolos estándar', () => {
|
|
217
|
+
const phi = mu('X', or(atom('p'), diamond(v('X'))));
|
|
218
|
+
(0, vitest_1.expect)((0, mu_calculus_1.muToString)(phi)).toBe('μX. (p ∨ ◇X)');
|
|
219
|
+
});
|
|
220
|
+
(0, vitest_1.it)('satisfiesAt es coherente con modelCheck', () => {
|
|
221
|
+
const M = k(['s0', 's1'], [['s0', 's1']], { s1: ['p'] });
|
|
222
|
+
const phi = diamond(atom('p'));
|
|
223
|
+
(0, vitest_1.expect)((0, mu_calculus_1.satisfiesAt)(M, phi, 's0')).toBe(true);
|
|
224
|
+
(0, vitest_1.expect)((0, mu_calculus_1.satisfiesAt)(M, phi, 's1')).toBe(false);
|
|
225
|
+
});
|
|
226
|
+
(0, vitest_1.it)('modelCheck lanza ante transición a estado desconocido', () => {
|
|
227
|
+
(0, vitest_1.expect)(() => (0, mu_calculus_1.modelCheck)({ states: ['s0'], transitions: [['s0', 'ghost']], labelling: { s0: new Set() } }, atom('p'))).toThrow(/estado desconocido/);
|
|
228
|
+
});
|
|
229
|
+
(0, vitest_1.it)('modelCheck lanza ante variable libre en evaluación', () => {
|
|
230
|
+
const M = k(['s0'], [], {});
|
|
231
|
+
(0, vitest_1.expect)(() => (0, mu_calculus_1.modelCheck)(M, v('X'))).toThrow(/variable libre/);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
//# sourceMappingURL=check.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.test.js","sourceRoot":"","sources":["../../../src/tests/mu-calculus/check.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-calculus.test.d.ts","sourceRoot":"","sources":["../../../src/tests/pi-calculus/pi-calculus.test.ts"],"names":[],"mappings":""}
|