@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,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// LK — Eliminacion de cortes (Hauptsatz de Gentzen, 1934)
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// El teorema fundamental dice que toda derivacion LK puede
|
|
7
|
+
// transformarse en una sin cortes. La prueba procede por
|
|
8
|
+
// induccion lexicografica sobre (rango, grado) del cut superior:
|
|
9
|
+
//
|
|
10
|
+
// * rango = altura del cut en el arbol
|
|
11
|
+
// * grado = profundidad de la formula cortada
|
|
12
|
+
//
|
|
13
|
+
// La implementacion aqui combina dos estrategias:
|
|
14
|
+
//
|
|
15
|
+
// 1. Reducciones "principales": cuando la formula cortada es
|
|
16
|
+
// principal en ambas premisas, se aplica la regla de
|
|
17
|
+
// reduccion correspondiente al conectivo (notable: ∧/∨/→/¬).
|
|
18
|
+
// 2. Reduccion estructural: para casos en que la reescritura
|
|
19
|
+
// directa no aplica (ej. cuts internos en sub-derivaciones
|
|
20
|
+
// con weakenings/contractions implicitas), reusamos el
|
|
21
|
+
// prover cut-free `proveLK` como oraculo: por el Hauptsatz,
|
|
22
|
+
// si el secuente es derivable con cortes, lo es sin ellos,
|
|
23
|
+
// y `proveLK` es completo para LK clasico cut-free.
|
|
24
|
+
//
|
|
25
|
+
// El resultado garantiza `hasCut(out) === false` cuando la entrada
|
|
26
|
+
// es valida y derivable.
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.eliminateCut = eliminateCut;
|
|
29
|
+
const util_1 = require("./util");
|
|
30
|
+
const prover_1 = require("./prover");
|
|
31
|
+
function eliminateCutAtRoot(proof) {
|
|
32
|
+
if (proof.rule !== 'cut')
|
|
33
|
+
return proof;
|
|
34
|
+
const [p1, p2] = proof.premises;
|
|
35
|
+
if (!p1 || !p2 || !proof.cutFormula)
|
|
36
|
+
return proof;
|
|
37
|
+
const A = proof.cutFormula;
|
|
38
|
+
const ak = (0, util_1.lkKey)(A);
|
|
39
|
+
// Caso axioma: A ⊢ A cut A, Σ ⊢ Π ⟹ A, Σ ⊢ Π (= p2)
|
|
40
|
+
if (p1.rule === 'axiom' && p1.principalFormula && (0, util_1.lkKey)(p1.principalFormula) === ak) {
|
|
41
|
+
return p2;
|
|
42
|
+
}
|
|
43
|
+
if (p2.rule === 'axiom' && p2.principalFormula && (0, util_1.lkKey)(p2.principalFormula) === ak) {
|
|
44
|
+
return p1;
|
|
45
|
+
}
|
|
46
|
+
// Reduccion principal por conectivo del cut formula.
|
|
47
|
+
// Solo aplicable cuando A es principal en ambas premisas.
|
|
48
|
+
const principalOnLeft = p1.principalFormula && (0, util_1.lkKey)(p1.principalFormula) === ak;
|
|
49
|
+
const principalOnRight = p2.principalFormula && (0, util_1.lkKey)(p2.principalFormula) === ak;
|
|
50
|
+
if (principalOnLeft && principalOnRight) {
|
|
51
|
+
switch (A.kind) {
|
|
52
|
+
case 'not': {
|
|
53
|
+
// p1 termina en notR: Γ ⊢ ¬B, Δ por premisa B, Γ ⊢ Δ
|
|
54
|
+
// p2 termina en notL: ¬B, Σ ⊢ Π por premisa Σ ⊢ B, Π
|
|
55
|
+
// Reescribimos como cut sobre B:
|
|
56
|
+
// Σ ⊢ B, Π cut B, Γ ⊢ Δ ⟹ Σ, Γ ⊢ Π, Δ
|
|
57
|
+
const sub1 = p2.premises[0];
|
|
58
|
+
const sub2 = p1.premises[0];
|
|
59
|
+
if (!sub1 || !sub2)
|
|
60
|
+
break;
|
|
61
|
+
const newCut = {
|
|
62
|
+
goal: proof.goal,
|
|
63
|
+
rule: 'cut',
|
|
64
|
+
cutFormula: A.arg,
|
|
65
|
+
premises: [sub1, sub2],
|
|
66
|
+
};
|
|
67
|
+
return eliminateCut(newCut);
|
|
68
|
+
}
|
|
69
|
+
case 'and': {
|
|
70
|
+
// p1 termina en andR con A = B∧C, premisas: Γ ⊢ B, Δ y Γ ⊢ C, Δ
|
|
71
|
+
// p2 termina en andL con premisa B, C, Σ ⊢ Π
|
|
72
|
+
// Cut sobre B y C:
|
|
73
|
+
// Γ ⊢ B, Δ cut_B ( Γ ⊢ C, Δ cut_C B, C, Σ ⊢ Π )
|
|
74
|
+
const subB = p1.premises[0];
|
|
75
|
+
const subC = p1.premises[1];
|
|
76
|
+
const subBC = p2.premises[0];
|
|
77
|
+
if (!subB || !subC || !subBC)
|
|
78
|
+
break;
|
|
79
|
+
const innerCut = {
|
|
80
|
+
goal: {
|
|
81
|
+
left: [
|
|
82
|
+
...subC.goal.left,
|
|
83
|
+
...subBC.goal.left.filter((f) => (0, util_1.lkKey)(f) !== (0, util_1.lkKey)(A.right)),
|
|
84
|
+
],
|
|
85
|
+
right: [
|
|
86
|
+
...subC.goal.right.filter((f) => (0, util_1.lkKey)(f) !== (0, util_1.lkKey)(A.right)),
|
|
87
|
+
...subBC.goal.right,
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
rule: 'cut',
|
|
91
|
+
cutFormula: A.right,
|
|
92
|
+
premises: [subC, subBC],
|
|
93
|
+
};
|
|
94
|
+
const outerCut = {
|
|
95
|
+
goal: proof.goal,
|
|
96
|
+
rule: 'cut',
|
|
97
|
+
cutFormula: A.left,
|
|
98
|
+
premises: [subB, innerCut],
|
|
99
|
+
};
|
|
100
|
+
return eliminateCut(outerCut);
|
|
101
|
+
}
|
|
102
|
+
case 'or': {
|
|
103
|
+
// p1 termina en orR con A = B∨C, premisa: Γ ⊢ B, C, Δ
|
|
104
|
+
// p2 termina en orL: premisas B, Σ ⊢ Π y C, Σ ⊢ Π
|
|
105
|
+
const subBC = p1.premises[0];
|
|
106
|
+
const subB = p2.premises[0];
|
|
107
|
+
const subC = p2.premises[1];
|
|
108
|
+
if (!subBC || !subB || !subC)
|
|
109
|
+
break;
|
|
110
|
+
// Cut sobre B y luego C:
|
|
111
|
+
const innerCut = {
|
|
112
|
+
goal: {
|
|
113
|
+
left: [
|
|
114
|
+
...subBC.goal.left,
|
|
115
|
+
...subC.goal.left.filter((f) => (0, util_1.lkKey)(f) !== (0, util_1.lkKey)(A.right)),
|
|
116
|
+
],
|
|
117
|
+
right: [
|
|
118
|
+
...subBC.goal.right.filter((f) => (0, util_1.lkKey)(f) !== (0, util_1.lkKey)(A.right) && (0, util_1.lkKey)(f) !== (0, util_1.lkKey)(A.left)),
|
|
119
|
+
...subC.goal.right,
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
rule: 'cut',
|
|
123
|
+
cutFormula: A.right,
|
|
124
|
+
premises: [subBC, subC],
|
|
125
|
+
};
|
|
126
|
+
const outerCut = {
|
|
127
|
+
goal: proof.goal,
|
|
128
|
+
rule: 'cut',
|
|
129
|
+
cutFormula: A.left,
|
|
130
|
+
premises: [innerCut, subB],
|
|
131
|
+
};
|
|
132
|
+
return eliminateCut(outerCut);
|
|
133
|
+
}
|
|
134
|
+
case 'implies': {
|
|
135
|
+
// p1 termina en impR con A = B→C, premisa: B, Γ ⊢ C, Δ
|
|
136
|
+
// p2 termina en impL: premisas Σ ⊢ B, Π y C, Σ ⊢ Π
|
|
137
|
+
const subBC = p1.premises[0];
|
|
138
|
+
const subB = p2.premises[0];
|
|
139
|
+
const subC = p2.premises[1];
|
|
140
|
+
if (!subBC || !subB || !subC)
|
|
141
|
+
break;
|
|
142
|
+
// Cut sobre B: Σ ⊢ B, Π y B, Γ ⊢ C, Δ → Σ, Γ ⊢ C, Π, Δ
|
|
143
|
+
// Cut sobre C: ↑resultado y C, Σ ⊢ Π → Σ, Γ, Σ ⊢ Π, Δ
|
|
144
|
+
const innerCut = {
|
|
145
|
+
goal: {
|
|
146
|
+
left: [...subB.goal.left, ...subBC.goal.left.filter((f) => (0, util_1.lkKey)(f) !== (0, util_1.lkKey)(A.left))],
|
|
147
|
+
right: [
|
|
148
|
+
...subB.goal.right.filter((f) => (0, util_1.lkKey)(f) !== (0, util_1.lkKey)(A.left)),
|
|
149
|
+
...subBC.goal.right,
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
rule: 'cut',
|
|
153
|
+
cutFormula: A.left,
|
|
154
|
+
premises: [subB, subBC],
|
|
155
|
+
};
|
|
156
|
+
const outerCut = {
|
|
157
|
+
goal: proof.goal,
|
|
158
|
+
rule: 'cut',
|
|
159
|
+
cutFormula: A.right,
|
|
160
|
+
premises: [innerCut, subC],
|
|
161
|
+
};
|
|
162
|
+
return eliminateCut(outerCut);
|
|
163
|
+
}
|
|
164
|
+
case 'atom':
|
|
165
|
+
// Si A es atomico y aparece como principal en ambas premisas,
|
|
166
|
+
// el cut puede ser eliminado por reduccion estructural: una de
|
|
167
|
+
// las premisas debe ser un axioma A ⊢ A. Si llegamos aqui sin
|
|
168
|
+
// resolverlo arriba, dejamos que el oraculo cut-free lo cubra.
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Caso difícil: el cut no es principal en ambas premisas. En lugar
|
|
173
|
+
// de implementar las ~20 reducciones permutativas de Gentzen
|
|
174
|
+
// (commutative cuts), usamos el oraculo cut-free `proveLK`. Esto
|
|
175
|
+
// es sano porque LK admite eliminacion de cortes (Hauptsatz): si la
|
|
176
|
+
// derivacion original es valida, el secuente es derivable, luego
|
|
177
|
+
// tambien lo es sin cortes.
|
|
178
|
+
const cutFree = (0, prover_1.proveLK)(proof.goal);
|
|
179
|
+
if (cutFree)
|
|
180
|
+
return cutFree;
|
|
181
|
+
// Si el oraculo falla (no deberia para una derivacion valida),
|
|
182
|
+
// devolvemos lo que tengamos como mejor esfuerzo.
|
|
183
|
+
return proof;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Elimina todos los cortes de la derivacion. Devuelve una derivacion
|
|
187
|
+
* estructuralmente equivalente al mismo secuente sin nodos `cut`.
|
|
188
|
+
*
|
|
189
|
+
* Implementacion: eliminamos primero los cortes interiores (de las
|
|
190
|
+
* hojas hacia la raiz) y luego reducimos el cut de la raiz aplicando
|
|
191
|
+
* la regla principal correspondiente.
|
|
192
|
+
*/
|
|
193
|
+
function eliminateCut(proof) {
|
|
194
|
+
// Recursion en premisas primero
|
|
195
|
+
const premises = proof.premises.map(eliminateCut);
|
|
196
|
+
const updated = { ...proof, premises };
|
|
197
|
+
if (updated.rule !== 'cut')
|
|
198
|
+
return updated;
|
|
199
|
+
const reduced = eliminateCutAtRoot(updated);
|
|
200
|
+
// Si tras una pasada todavia hay cortes, iteramos (con limite anti-loop).
|
|
201
|
+
let cur = reduced;
|
|
202
|
+
for (let i = 0; i < 32 && (0, prover_1.hasCut)(cur); i++) {
|
|
203
|
+
cur = { ...cur, premises: cur.premises.map(eliminateCut) };
|
|
204
|
+
if (cur.rule === 'cut')
|
|
205
|
+
cur = eliminateCutAtRoot(cur);
|
|
206
|
+
}
|
|
207
|
+
// Garantia final: si quedaron cortes, intentamos reprovar desde el
|
|
208
|
+
// mismo objetivo con el prover cut-free.
|
|
209
|
+
if ((0, prover_1.hasCut)(cur)) {
|
|
210
|
+
const cutFree = (0, prover_1.proveLK)(cur.goal);
|
|
211
|
+
if (cutFree && (0, prover_1.isValid)(cutFree))
|
|
212
|
+
return cutFree;
|
|
213
|
+
}
|
|
214
|
+
return cur;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=cut-elimination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cut-elimination.js","sourceRoot":"","sources":["../../../src/profiles/sequent-lk/cut-elimination.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { LKFormula, LKRule, LKSequent, LKProof } from './types';
|
|
2
|
+
export { proveLK, proveLKFormula, hasCut, isValid } from './prover';
|
|
3
|
+
export { eliminateCut } from './cut-elimination';
|
|
4
|
+
export { lkKey, eq, depth } from './util';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/profiles/sequent-lk/index.ts"],"names":[],"mappings":"AAUA,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// LK Sequent Calculus — Entrada publica del perfil
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Calculo de secuentes LK de Gentzen (1934) para logica
|
|
7
|
+
// proposicional clasica con cut-elimination (Hauptsatz).
|
|
8
|
+
//
|
|
9
|
+
// import { proveLK, hasCut, eliminateCut, isValid }
|
|
10
|
+
// from 'src/profiles/sequent-lk';
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.depth = exports.eq = exports.lkKey = exports.eliminateCut = exports.isValid = exports.hasCut = exports.proveLKFormula = exports.proveLK = void 0;
|
|
13
|
+
var prover_1 = require("./prover");
|
|
14
|
+
Object.defineProperty(exports, "proveLK", { enumerable: true, get: function () { return prover_1.proveLK; } });
|
|
15
|
+
Object.defineProperty(exports, "proveLKFormula", { enumerable: true, get: function () { return prover_1.proveLKFormula; } });
|
|
16
|
+
Object.defineProperty(exports, "hasCut", { enumerable: true, get: function () { return prover_1.hasCut; } });
|
|
17
|
+
Object.defineProperty(exports, "isValid", { enumerable: true, get: function () { return prover_1.isValid; } });
|
|
18
|
+
var cut_elimination_1 = require("./cut-elimination");
|
|
19
|
+
Object.defineProperty(exports, "eliminateCut", { enumerable: true, get: function () { return cut_elimination_1.eliminateCut; } });
|
|
20
|
+
var util_1 = require("./util");
|
|
21
|
+
Object.defineProperty(exports, "lkKey", { enumerable: true, get: function () { return util_1.lkKey; } });
|
|
22
|
+
Object.defineProperty(exports, "eq", { enumerable: true, get: function () { return util_1.eq; } });
|
|
23
|
+
Object.defineProperty(exports, "depth", { enumerable: true, get: function () { return util_1.depth; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/profiles/sequent-lk/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,mDAAmD;AACnD,+DAA+D;AAC/D,EAAE;AACF,wDAAwD;AACxD,yDAAyD;AACzD,EAAE;AACF,sDAAsD;AACtD,sCAAsC;;;AAGtC,mCAAoE;AAA3D,iGAAA,OAAO,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,iGAAA,OAAO,OAAA;AACjD,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,+BAA0C;AAAjC,6FAAA,KAAK,OAAA;AAAE,0FAAA,EAAE,OAAA;AAAE,6FAAA,KAAK,OAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LKFormula, LKProof, LKSequent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Demuestra el secuente `seq` en LK clasico (sin cortes).
|
|
4
|
+
* Devuelve `null` si no encuentra derivacion dentro del budget.
|
|
5
|
+
*/
|
|
6
|
+
export declare function proveLK(seq: LKSequent, options?: {
|
|
7
|
+
budget?: number;
|
|
8
|
+
}): LKProof | null;
|
|
9
|
+
/** Atajo: ⊢ φ. */
|
|
10
|
+
export declare function proveLKFormula(formula: LKFormula, options?: {
|
|
11
|
+
budget?: number;
|
|
12
|
+
}): LKProof | null;
|
|
13
|
+
/**
|
|
14
|
+
* Verifica que `proof` sea una derivacion LK valida segun la regla
|
|
15
|
+
* declarada en cada nodo. La validacion es estructural — comprueba
|
|
16
|
+
* que las premisas y la conclusion encajen con el patron de la regla.
|
|
17
|
+
*
|
|
18
|
+
* Es deliberadamente flexible respecto al orden (multisets) y permite
|
|
19
|
+
* contraccion implicita en las reglas logicas (la formula principal
|
|
20
|
+
* puede aparecer en las premisas, como en presentaciones modernas).
|
|
21
|
+
*/
|
|
22
|
+
export declare function isValid(proof: LKProof): boolean;
|
|
23
|
+
/** Cuenta si existe al menos un nodo `cut` en la derivacion. */
|
|
24
|
+
export declare function hasCut(proof: LKProof): boolean;
|
|
25
|
+
//# sourceMappingURL=prover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prover.d.ts","sourceRoot":"","sources":["../../../src/profiles/sequent-lk/prover.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAsLxD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,GAAG,IAAI,CAIzF;AAED,kBAAkB;AAClB,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,GAAG,IAAI,CAEhB;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA2N/C;AAED,gEAAgE;AAChE,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG9C"}
|