@stevenvo780/st-lang 4.1.0 → 4.3.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/belief-revision/agm.d.ts +76 -0
- package/dist/belief-revision/agm.d.ts.map +1 -0
- package/dist/belief-revision/agm.js +249 -0
- package/dist/belief-revision/agm.js.map +1 -0
- package/dist/belief-revision/index.d.ts +6 -0
- package/dist/belief-revision/index.d.ts.map +1 -0
- package/dist/belief-revision/index.js +33 -0
- package/dist/belief-revision/index.js.map +1 -0
- package/dist/belief-revision/parser.d.ts +16 -0
- package/dist/belief-revision/parser.d.ts.map +1 -0
- package/dist/belief-revision/parser.js +199 -0
- package/dist/belief-revision/parser.js.map +1 -0
- package/dist/belief-revision/sat.d.ts +19 -0
- package/dist/belief-revision/sat.d.ts.map +1 -0
- package/dist/belief-revision/sat.js +90 -0
- package/dist/belief-revision/sat.js.map +1 -0
- package/dist/belief-revision/types.d.ts +51 -0
- package/dist/belief-revision/types.d.ts.map +1 -0
- package/dist/belief-revision/types.js +10 -0
- package/dist/belief-revision/types.js.map +1 -0
- package/dist/curry-howard/index.d.ts +7 -0
- package/dist/curry-howard/index.d.ts.map +1 -0
- package/dist/curry-howard/index.js +46 -0
- package/dist/curry-howard/index.js.map +1 -0
- package/dist/curry-howard/infer.d.ts +9 -0
- package/dist/curry-howard/infer.d.ts.map +1 -0
- package/dist/curry-howard/infer.js +129 -0
- package/dist/curry-howard/infer.js.map +1 -0
- package/dist/curry-howard/proof.d.ts +7 -0
- package/dist/curry-howard/proof.d.ts.map +1 -0
- package/dist/curry-howard/proof.js +282 -0
- package/dist/curry-howard/proof.js.map +1 -0
- package/dist/curry-howard/reduce.d.ts +7 -0
- package/dist/curry-howard/reduce.d.ts.map +1 -0
- package/dist/curry-howard/reduce.js +266 -0
- package/dist/curry-howard/reduce.js.map +1 -0
- package/dist/curry-howard/types.d.ts +91 -0
- package/dist/curry-howard/types.d.ts.map +1 -0
- package/dist/curry-howard/types.js +149 -0
- package/dist/curry-howard/types.js.map +1 -0
- package/dist/fol-prover-equality/demodulate.d.ts +29 -0
- package/dist/fol-prover-equality/demodulate.d.ts.map +1 -0
- package/dist/fol-prover-equality/demodulate.js +197 -0
- package/dist/fol-prover-equality/demodulate.js.map +1 -0
- package/dist/fol-prover-equality/index.d.ts +8 -0
- package/dist/fol-prover-equality/index.d.ts.map +1 -0
- package/dist/fol-prover-equality/index.js +24 -0
- package/dist/fol-prover-equality/index.js.map +1 -0
- package/dist/fol-prover-equality/paramodulate.d.ts +46 -0
- package/dist/fol-prover-equality/paramodulate.d.ts.map +1 -0
- package/dist/fol-prover-equality/paramodulate.js +159 -0
- package/dist/fol-prover-equality/paramodulate.js.map +1 -0
- package/dist/fol-prover-equality/prove.d.ts +7 -0
- package/dist/fol-prover-equality/prove.d.ts.map +1 -0
- package/dist/fol-prover-equality/prove.js +307 -0
- package/dist/fol-prover-equality/prove.js.map +1 -0
- package/dist/fol-prover-equality/term-utils.d.ts +43 -0
- package/dist/fol-prover-equality/term-utils.d.ts.map +1 -0
- package/dist/fol-prover-equality/term-utils.js +230 -0
- package/dist/fol-prover-equality/term-utils.js.map +1 -0
- package/dist/fol-prover-equality/types.d.ts +20 -0
- package/dist/fol-prover-equality/types.d.ts.map +1 -0
- package/dist/fol-prover-equality/types.js +5 -0
- package/dist/fol-prover-equality/types.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -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/profiles/ctl/check.d.ts +13 -0
- package/dist/profiles/ctl/check.d.ts.map +1 -0
- package/dist/profiles/ctl/check.js +359 -0
- package/dist/profiles/ctl/check.js.map +1 -0
- package/dist/profiles/ctl/index.d.ts +5 -0
- package/dist/profiles/ctl/index.d.ts.map +1 -0
- package/dist/profiles/ctl/index.js +23 -0
- package/dist/profiles/ctl/index.js.map +1 -0
- package/dist/profiles/ctl/types.d.ts +74 -0
- package/dist/profiles/ctl/types.d.ts.map +1 -0
- package/dist/profiles/ctl/types.js +53 -0
- package/dist/profiles/ctl/types.js.map +1 -0
- package/dist/profiles/ctl/witness.d.ts +20 -0
- package/dist/profiles/ctl/witness.d.ts.map +1 -0
- package/dist/profiles/ctl/witness.js +149 -0
- package/dist/profiles/ctl/witness.js.map +1 -0
- package/dist/profiles/default-logic/entailment.d.ts +14 -0
- package/dist/profiles/default-logic/entailment.d.ts.map +1 -0
- package/dist/profiles/default-logic/entailment.js +36 -0
- package/dist/profiles/default-logic/entailment.js.map +1 -0
- package/dist/profiles/default-logic/extensions.d.ts +35 -0
- package/dist/profiles/default-logic/extensions.d.ts.map +1 -0
- package/dist/profiles/default-logic/extensions.js +276 -0
- package/dist/profiles/default-logic/extensions.js.map +1 -0
- package/dist/profiles/default-logic/index.d.ts +5 -0
- package/dist/profiles/default-logic/index.d.ts.map +1 -0
- package/dist/profiles/default-logic/index.js +33 -0
- package/dist/profiles/default-logic/index.js.map +1 -0
- package/dist/profiles/default-logic/types.d.ts +29 -0
- package/dist/profiles/default-logic/types.d.ts.map +1 -0
- package/dist/profiles/default-logic/types.js +25 -0
- package/dist/profiles/default-logic/types.js.map +1 -0
- package/dist/profiles/description-logic/index.d.ts +5 -0
- package/dist/profiles/description-logic/index.d.ts.map +1 -0
- package/dist/profiles/description-logic/index.js +39 -0
- package/dist/profiles/description-logic/index.js.map +1 -0
- package/dist/profiles/description-logic/nnf.d.ts +13 -0
- package/dist/profiles/description-logic/nnf.d.ts.map +1 -0
- package/dist/profiles/description-logic/nnf.js +123 -0
- package/dist/profiles/description-logic/nnf.js.map +1 -0
- package/dist/profiles/description-logic/tableau.d.ts +27 -0
- package/dist/profiles/description-logic/tableau.d.ts.map +1 -0
- package/dist/profiles/description-logic/tableau.js +491 -0
- package/dist/profiles/description-logic/tableau.js.map +1 -0
- package/dist/profiles/description-logic/types.d.ts +45 -0
- package/dist/profiles/description-logic/types.d.ts.map +1 -0
- package/dist/profiles/description-logic/types.js +71 -0
- package/dist/profiles/description-logic/types.js.map +1 -0
- package/dist/profiles/hybrid-logic/index.d.ts +5 -0
- package/dist/profiles/hybrid-logic/index.d.ts.map +1 -0
- package/dist/profiles/hybrid-logic/index.js +34 -0
- package/dist/profiles/hybrid-logic/index.js.map +1 -0
- package/dist/profiles/hybrid-logic/sat.d.ts +15 -0
- package/dist/profiles/hybrid-logic/sat.d.ts.map +1 -0
- package/dist/profiles/hybrid-logic/sat.js +142 -0
- package/dist/profiles/hybrid-logic/sat.js.map +1 -0
- package/dist/profiles/hybrid-logic/semantics.d.ts +20 -0
- package/dist/profiles/hybrid-logic/semantics.d.ts.map +1 -0
- package/dist/profiles/hybrid-logic/semantics.js +107 -0
- package/dist/profiles/hybrid-logic/semantics.js.map +1 -0
- package/dist/profiles/hybrid-logic/types.d.ts +78 -0
- package/dist/profiles/hybrid-logic/types.d.ts.map +1 -0
- package/dist/profiles/hybrid-logic/types.js +107 -0
- package/dist/profiles/hybrid-logic/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/ltl-sat/index.d.ts +4 -0
- package/dist/profiles/ltl-sat/index.d.ts.map +1 -0
- package/dist/profiles/ltl-sat/index.js +40 -0
- package/dist/profiles/ltl-sat/index.js.map +1 -0
- package/dist/profiles/ltl-sat/sat.d.ts +8 -0
- package/dist/profiles/ltl-sat/sat.d.ts.map +1 -0
- package/dist/profiles/ltl-sat/sat.js +140 -0
- package/dist/profiles/ltl-sat/sat.js.map +1 -0
- package/dist/profiles/ltl-sat/tableau.d.ts +19 -0
- package/dist/profiles/ltl-sat/tableau.d.ts.map +1 -0
- package/dist/profiles/ltl-sat/tableau.js +358 -0
- package/dist/profiles/ltl-sat/tableau.js.map +1 -0
- package/dist/profiles/ltl-sat/types.d.ts +52 -0
- package/dist/profiles/ltl-sat/types.d.ts.map +1 -0
- package/dist/profiles/ltl-sat/types.js +101 -0
- package/dist/profiles/ltl-sat/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/sequent-g3/index.d.ts +5 -0
- package/dist/profiles/sequent-g3/index.d.ts.map +1 -0
- package/dist/profiles/sequent-g3/index.js +23 -0
- package/dist/profiles/sequent-g3/index.js.map +1 -0
- package/dist/profiles/sequent-g3/latex.d.ts +7 -0
- package/dist/profiles/sequent-g3/latex.d.ts.map +1 -0
- package/dist/profiles/sequent-g3/latex.js +107 -0
- package/dist/profiles/sequent-g3/latex.js.map +1 -0
- package/dist/profiles/sequent-g3/normalize.d.ts +15 -0
- package/dist/profiles/sequent-g3/normalize.d.ts.map +1 -0
- package/dist/profiles/sequent-g3/normalize.js +121 -0
- package/dist/profiles/sequent-g3/normalize.js.map +1 -0
- package/dist/profiles/sequent-g3/prover.d.ts +16 -0
- package/dist/profiles/sequent-g3/prover.d.ts.map +1 -0
- package/dist/profiles/sequent-g3/prover.js +348 -0
- package/dist/profiles/sequent-g3/prover.js.map +1 -0
- package/dist/profiles/sequent-g3/types.d.ts +30 -0
- package/dist/profiles/sequent-g3/types.d.ts.map +1 -0
- package/dist/profiles/sequent-g3/types.js +16 -0
- package/dist/profiles/sequent-g3/types.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/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/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/countermodel-min/index.d.ts +3 -0
- package/dist/runtime/countermodel-min/index.d.ts.map +1 -0
- package/dist/runtime/countermodel-min/index.js +9 -0
- package/dist/runtime/countermodel-min/index.js.map +1 -0
- package/dist/runtime/countermodel-min/minimize.d.ts +17 -0
- package/dist/runtime/countermodel-min/minimize.d.ts.map +1 -0
- package/dist/runtime/countermodel-min/minimize.js +0 -0
- package/dist/runtime/countermodel-min/minimize.js.map +1 -0
- package/dist/runtime/countermodel-min/types.d.ts +40 -0
- package/dist/runtime/countermodel-min/types.d.ts.map +1 -0
- package/dist/runtime/countermodel-min/types.js +6 -0
- package/dist/runtime/countermodel-min/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/mus/extract.d.ts +34 -0
- package/dist/runtime/mus/extract.d.ts.map +1 -0
- package/dist/runtime/mus/extract.js +243 -0
- package/dist/runtime/mus/extract.js.map +1 -0
- package/dist/runtime/mus/index.d.ts +4 -0
- package/dist/runtime/mus/index.d.ts.map +1 -0
- package/dist/runtime/mus/index.js +12 -0
- package/dist/runtime/mus/index.js.map +1 -0
- package/dist/runtime/mus/quickxplain.d.ts +10 -0
- package/dist/runtime/mus/quickxplain.d.ts.map +1 -0
- package/dist/runtime/mus/quickxplain.js +100 -0
- package/dist/runtime/mus/quickxplain.js.map +1 -0
- package/dist/runtime/mus/types.d.ts +59 -0
- package/dist/runtime/mus/types.d.ts.map +1 -0
- package/dist/runtime/mus/types.js +20 -0
- package/dist/runtime/mus/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 +206 -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/solver/cdcl-v2-incremental/index.d.ts +3 -0
- package/dist/solver/cdcl-v2-incremental/index.d.ts.map +1 -0
- package/dist/solver/cdcl-v2-incremental/index.js +16 -0
- package/dist/solver/cdcl-v2-incremental/index.js.map +1 -0
- package/dist/solver/cdcl-v2-incremental/solver.d.ts +83 -0
- package/dist/solver/cdcl-v2-incremental/solver.d.ts.map +1 -0
- package/dist/solver/cdcl-v2-incremental/solver.js +727 -0
- package/dist/solver/cdcl-v2-incremental/solver.js.map +1 -0
- package/dist/solver/cdcl-v2-incremental/types.d.ts +47 -0
- package/dist/solver/cdcl-v2-incremental/types.d.ts.map +1 -0
- package/dist/solver/cdcl-v2-incremental/types.js +13 -0
- package/dist/solver/cdcl-v2-incremental/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/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/belief-revision/agm.test.d.ts +2 -0
- package/dist/tests/belief-revision/agm.test.d.ts.map +1 -0
- package/dist/tests/belief-revision/agm.test.js +173 -0
- package/dist/tests/belief-revision/agm.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/countermodel-min/minimize.test.d.ts +2 -0
- package/dist/tests/countermodel-min/minimize.test.d.ts.map +1 -0
- package/dist/tests/countermodel-min/minimize.test.js +241 -0
- package/dist/tests/countermodel-min/minimize.test.js.map +1 -0
- package/dist/tests/ctl/check.test.d.ts +2 -0
- package/dist/tests/ctl/check.test.d.ts.map +1 -0
- package/dist/tests/ctl/check.test.js +337 -0
- package/dist/tests/ctl/check.test.js.map +1 -0
- package/dist/tests/curry-howard/infer.test.d.ts +2 -0
- package/dist/tests/curry-howard/infer.test.d.ts.map +1 -0
- package/dist/tests/curry-howard/infer.test.js +93 -0
- package/dist/tests/curry-howard/infer.test.js.map +1 -0
- package/dist/tests/curry-howard/proof.test.d.ts +2 -0
- package/dist/tests/curry-howard/proof.test.d.ts.map +1 -0
- package/dist/tests/curry-howard/proof.test.js +105 -0
- package/dist/tests/curry-howard/proof.test.js.map +1 -0
- package/dist/tests/curry-howard/reduce.test.d.ts +2 -0
- package/dist/tests/curry-howard/reduce.test.d.ts.map +1 -0
- package/dist/tests/curry-howard/reduce.test.js +109 -0
- package/dist/tests/curry-howard/reduce.test.js.map +1 -0
- package/dist/tests/default-logic/extensions.test.d.ts +2 -0
- package/dist/tests/default-logic/extensions.test.d.ts.map +1 -0
- package/dist/tests/default-logic/extensions.test.js +323 -0
- package/dist/tests/default-logic/extensions.test.js.map +1 -0
- package/dist/tests/description-logic/alc.test.d.ts +2 -0
- package/dist/tests/description-logic/alc.test.d.ts.map +1 -0
- package/dist/tests/description-logic/alc.test.js +253 -0
- package/dist/tests/description-logic/alc.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/fol-prover-equality/prove.test.d.ts +2 -0
- package/dist/tests/fol-prover-equality/prove.test.d.ts.map +1 -0
- package/dist/tests/fol-prover-equality/prove.test.js +179 -0
- package/dist/tests/fol-prover-equality/prove.test.js.map +1 -0
- package/dist/tests/hybrid-logic/semantics.test.d.ts +2 -0
- package/dist/tests/hybrid-logic/semantics.test.d.ts.map +1 -0
- package/dist/tests/hybrid-logic/semantics.test.js +169 -0
- package/dist/tests/hybrid-logic/semantics.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/ltl-sat/sat.test.d.ts +2 -0
- package/dist/tests/ltl-sat/sat.test.d.ts.map +1 -0
- package/dist/tests/ltl-sat/sat.test.js +160 -0
- package/dist/tests/ltl-sat/sat.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/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/mus/extract.test.d.ts +2 -0
- package/dist/tests/mus/extract.test.d.ts.map +1 -0
- package/dist/tests/mus/extract.test.js +352 -0
- package/dist/tests/mus/extract.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/sat-v2-incremental/basic.test.d.ts +2 -0
- package/dist/tests/sat-v2-incremental/basic.test.d.ts.map +1 -0
- package/dist/tests/sat-v2-incremental/basic.test.js +352 -0
- package/dist/tests/sat-v2-incremental/basic.test.js.map +1 -0
- package/dist/tests/sequent-g3/prover.test.d.ts +2 -0
- package/dist/tests/sequent-g3/prover.test.d.ts.map +1 -0
- package/dist/tests/sequent-g3/prover.test.js +205 -0
- package/dist/tests/sequent-g3/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/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/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Term } from './types';
|
|
2
|
+
export type BetaStrategy = 'leftmost-outermost' | 'leftmost-innermost';
|
|
3
|
+
export type NormalStrategy = 'normal' | 'cbn' | 'cbv';
|
|
4
|
+
export declare function betaStep(t: Term, strategy?: BetaStrategy): Term | null;
|
|
5
|
+
export declare function etaStep(t: Term): Term | null;
|
|
6
|
+
export declare function isNormalForm(t: Term): boolean;
|
|
7
|
+
export declare function isWeakHeadNormalForm(t: Term): boolean;
|
|
8
|
+
export interface NormalizeResult {
|
|
9
|
+
result: Term;
|
|
10
|
+
steps: number;
|
|
11
|
+
terminated: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface NormalizeOpts {
|
|
14
|
+
maxSteps?: number;
|
|
15
|
+
strategy?: NormalStrategy;
|
|
16
|
+
}
|
|
17
|
+
export declare function normalize(t: Term, opts?: NormalizeOpts): NormalizeResult;
|
|
18
|
+
//# sourceMappingURL=reduce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reduce.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/reduce.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpC,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AACvE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAItD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAE,YAAmC,GAAG,IAAI,GAAG,IAAI,CAE5F;AAgDD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAuB5C;AAGD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAE7C;AAID,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAWrD;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAKD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAE,aAAkB,GAAG,eAAe,CAW5E"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// λ-cálculo untyped — β/η reducción y estrategias de normalización
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Estrategias soportadas:
|
|
7
|
+
// - 'normal' leftmost-outermost; corresponde a normalización
|
|
8
|
+
// teórica (encuentra forma normal si existe).
|
|
9
|
+
// - 'cbn' call-by-name: reduce la cabeza, no entra bajo
|
|
10
|
+
// lambdas (devuelve weak-head-normal form).
|
|
11
|
+
// - 'cbv' call-by-value (applicative order): argumentos
|
|
12
|
+
// reducidos a valor antes que la aplicación.
|
|
13
|
+
//
|
|
14
|
+
// Estrategias de paso simple (betaStep):
|
|
15
|
+
// - 'leftmost-outermost' (default) — normaliza términos como SKK→I.
|
|
16
|
+
// - 'leftmost-innermost' — reduce dentro de los args primero.
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.betaStep = betaStep;
|
|
19
|
+
exports.etaStep = etaStep;
|
|
20
|
+
exports.isNormalForm = isNormalForm;
|
|
21
|
+
exports.isWeakHeadNormalForm = isWeakHeadNormalForm;
|
|
22
|
+
exports.normalize = normalize;
|
|
23
|
+
const substitution_1 = require("./substitution");
|
|
24
|
+
// Devuelve el término reducido en UN paso, o `null` si no hay redex
|
|
25
|
+
// aplicable bajo la estrategia.
|
|
26
|
+
function betaStep(t, strategy = 'leftmost-outermost') {
|
|
27
|
+
return strategy === 'leftmost-outermost' ? stepLO(t) : stepLI(t);
|
|
28
|
+
}
|
|
29
|
+
// Leftmost-outermost: redex más a la izquierda y más superficial.
|
|
30
|
+
function stepLO(t) {
|
|
31
|
+
switch (t.kind) {
|
|
32
|
+
case 'var':
|
|
33
|
+
return null;
|
|
34
|
+
case 'abs': {
|
|
35
|
+
const b2 = stepLO(t.body);
|
|
36
|
+
return b2 === null ? null : { kind: 'abs', param: t.param, body: b2 };
|
|
37
|
+
}
|
|
38
|
+
case 'app': {
|
|
39
|
+
if (t.fn.kind === 'abs') {
|
|
40
|
+
return (0, substitution_1.substitute)(t.fn.body, t.fn.param, t.arg);
|
|
41
|
+
}
|
|
42
|
+
const fn2 = stepLO(t.fn);
|
|
43
|
+
if (fn2 !== null)
|
|
44
|
+
return { kind: 'app', fn: fn2, arg: t.arg };
|
|
45
|
+
const arg2 = stepLO(t.arg);
|
|
46
|
+
if (arg2 !== null)
|
|
47
|
+
return { kind: 'app', fn: t.fn, arg: arg2 };
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Leftmost-innermost: reduce primero los redex dentro de los args.
|
|
53
|
+
function stepLI(t) {
|
|
54
|
+
switch (t.kind) {
|
|
55
|
+
case 'var':
|
|
56
|
+
return null;
|
|
57
|
+
case 'abs': {
|
|
58
|
+
const b2 = stepLI(t.body);
|
|
59
|
+
return b2 === null ? null : { kind: 'abs', param: t.param, body: b2 };
|
|
60
|
+
}
|
|
61
|
+
case 'app': {
|
|
62
|
+
const fn2 = stepLI(t.fn);
|
|
63
|
+
if (fn2 !== null)
|
|
64
|
+
return { kind: 'app', fn: fn2, arg: t.arg };
|
|
65
|
+
const arg2 = stepLI(t.arg);
|
|
66
|
+
if (arg2 !== null)
|
|
67
|
+
return { kind: 'app', fn: t.fn, arg: arg2 };
|
|
68
|
+
if (t.fn.kind === 'abs') {
|
|
69
|
+
return (0, substitution_1.substitute)(t.fn.body, t.fn.param, t.arg);
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// η-reducción: (λx. f x) → f cuando x ∉ FV(f).
|
|
76
|
+
// Sólo un paso; busca en orden leftmost-outermost.
|
|
77
|
+
function etaStep(t) {
|
|
78
|
+
switch (t.kind) {
|
|
79
|
+
case 'var':
|
|
80
|
+
return null;
|
|
81
|
+
case 'abs': {
|
|
82
|
+
if (t.body.kind === 'app' &&
|
|
83
|
+
t.body.arg.kind === 'var' &&
|
|
84
|
+
t.body.arg.name === t.param &&
|
|
85
|
+
!(0, substitution_1.freeVars)(t.body.fn).has(t.param)) {
|
|
86
|
+
return t.body.fn;
|
|
87
|
+
}
|
|
88
|
+
const b2 = etaStep(t.body);
|
|
89
|
+
return b2 === null ? null : { kind: 'abs', param: t.param, body: b2 };
|
|
90
|
+
}
|
|
91
|
+
case 'app': {
|
|
92
|
+
const fn2 = etaStep(t.fn);
|
|
93
|
+
if (fn2 !== null)
|
|
94
|
+
return { kind: 'app', fn: fn2, arg: t.arg };
|
|
95
|
+
const arg2 = etaStep(t.arg);
|
|
96
|
+
return arg2 === null ? null : { kind: 'app', fn: t.fn, arg: arg2 };
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// ¿No hay redex β bajo la estrategia leftmost-outermost?
|
|
101
|
+
function isNormalForm(t) {
|
|
102
|
+
return stepLO(t) === null;
|
|
103
|
+
}
|
|
104
|
+
// Weak-head normal form: no hay redex en posición de cabeza.
|
|
105
|
+
// (λx. M) es WHNF; una aplicación es WHNF si su cabeza es variable.
|
|
106
|
+
function isWeakHeadNormalForm(t) {
|
|
107
|
+
switch (t.kind) {
|
|
108
|
+
case 'var':
|
|
109
|
+
case 'abs':
|
|
110
|
+
return true;
|
|
111
|
+
case 'app': {
|
|
112
|
+
let head = t;
|
|
113
|
+
while (head.kind === 'app')
|
|
114
|
+
head = head.fn;
|
|
115
|
+
return head.kind === 'var';
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Itera reducciones hasta forma normal (o WHNF según estrategia).
|
|
120
|
+
// `terminated=true` significa que no quedan redex; `false` indica que
|
|
121
|
+
// agotó `maxSteps` (típico para términos divergentes como Ω).
|
|
122
|
+
function normalize(t, opts = {}) {
|
|
123
|
+
const maxSteps = opts.maxSteps ?? 1000;
|
|
124
|
+
const strategy = opts.strategy ?? 'normal';
|
|
125
|
+
let current = t;
|
|
126
|
+
let steps = 0;
|
|
127
|
+
for (; steps < maxSteps; steps += 1) {
|
|
128
|
+
const next = oneStep(current, strategy);
|
|
129
|
+
if (next === null)
|
|
130
|
+
return { result: current, steps, terminated: true };
|
|
131
|
+
current = next;
|
|
132
|
+
}
|
|
133
|
+
return { result: current, steps, terminated: false };
|
|
134
|
+
}
|
|
135
|
+
function oneStep(t, strategy) {
|
|
136
|
+
switch (strategy) {
|
|
137
|
+
case 'normal':
|
|
138
|
+
return stepLO(t);
|
|
139
|
+
case 'cbn':
|
|
140
|
+
return stepCBN(t);
|
|
141
|
+
case 'cbv':
|
|
142
|
+
return stepCBV(t);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Call-by-name: sólo reduce el redex en la posición de cabeza, sin
|
|
146
|
+
// bajar bajo lambdas. Termina en WHNF.
|
|
147
|
+
function stepCBN(t) {
|
|
148
|
+
if (t.kind === 'app') {
|
|
149
|
+
if (t.fn.kind === 'abs') {
|
|
150
|
+
return (0, substitution_1.substitute)(t.fn.body, t.fn.param, t.arg);
|
|
151
|
+
}
|
|
152
|
+
const fn2 = stepCBN(t.fn);
|
|
153
|
+
return fn2 === null ? null : { kind: 'app', fn: fn2, arg: t.arg };
|
|
154
|
+
}
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
// Call-by-value (applicative order): reduce función a valor, luego
|
|
158
|
+
// arg a valor, luego β. Tampoco entra bajo λ. Termina en WHNF.
|
|
159
|
+
function stepCBV(t) {
|
|
160
|
+
if (t.kind === 'app') {
|
|
161
|
+
const fn2 = stepCBV(t.fn);
|
|
162
|
+
if (fn2 !== null)
|
|
163
|
+
return { kind: 'app', fn: fn2, arg: t.arg };
|
|
164
|
+
const arg2 = stepCBV(t.arg);
|
|
165
|
+
if (arg2 !== null)
|
|
166
|
+
return { kind: 'app', fn: t.fn, arg: arg2 };
|
|
167
|
+
if (t.fn.kind === 'abs') {
|
|
168
|
+
return (0, substitution_1.substitute)(t.fn.body, t.fn.param, t.arg);
|
|
169
|
+
}
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=reduce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reduce.js","sourceRoot":"","sources":["../../src/lambda-calc/reduce.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Term } from './types';
|
|
2
|
+
export declare function freeVars(t: Term): Set<string>;
|
|
3
|
+
export declare function makeFreshSupply(seed?: number): () => string;
|
|
4
|
+
export declare function alphaRename(t: Term, freshSupply: () => string): Term;
|
|
5
|
+
export declare function substitute(t: Term, varName: string, replacement: Term): Term;
|
|
6
|
+
//# sourceMappingURL=substitution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"substitution.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/substitution.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAI7C;AAwCD,wBAAgB,eAAe,CAAC,IAAI,SAAI,GAAG,MAAM,MAAM,CAGtD;AAgBD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI,CAEpE;AAoBD,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,GAAG,IAAI,CAG5E"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// λ-cálculo untyped — Variables libres, α-renombrado, sustitución
|
|
4
|
+
// capture-avoiding
|
|
5
|
+
// ============================================================
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.freeVars = freeVars;
|
|
8
|
+
exports.makeFreshSupply = makeFreshSupply;
|
|
9
|
+
exports.alphaRename = alphaRename;
|
|
10
|
+
exports.substitute = substitute;
|
|
11
|
+
// Free variables del término.
|
|
12
|
+
function freeVars(t) {
|
|
13
|
+
const acc = new Set();
|
|
14
|
+
collectFree(t, acc);
|
|
15
|
+
return acc;
|
|
16
|
+
}
|
|
17
|
+
function collectFree(t, acc) {
|
|
18
|
+
switch (t.kind) {
|
|
19
|
+
case 'var':
|
|
20
|
+
acc.add(t.name);
|
|
21
|
+
return;
|
|
22
|
+
case 'app':
|
|
23
|
+
collectFree(t.fn, acc);
|
|
24
|
+
collectFree(t.arg, acc);
|
|
25
|
+
return;
|
|
26
|
+
case 'abs': {
|
|
27
|
+
const inner = new Set();
|
|
28
|
+
collectFree(t.body, inner);
|
|
29
|
+
inner.delete(t.param);
|
|
30
|
+
for (const x of inner)
|
|
31
|
+
acc.add(x);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Conjunto de todos los nombres mencionados (libres o ligados).
|
|
37
|
+
function allNames(t, acc = new Set()) {
|
|
38
|
+
switch (t.kind) {
|
|
39
|
+
case 'var':
|
|
40
|
+
acc.add(t.name);
|
|
41
|
+
return acc;
|
|
42
|
+
case 'app':
|
|
43
|
+
allNames(t.fn, acc);
|
|
44
|
+
allNames(t.arg, acc);
|
|
45
|
+
return acc;
|
|
46
|
+
case 'abs':
|
|
47
|
+
acc.add(t.param);
|
|
48
|
+
allNames(t.body, acc);
|
|
49
|
+
return acc;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Generador de nombres frescos. Mantiene un contador local para
|
|
53
|
+
// reproducibilidad — el patrón es `<base>#<n>`.
|
|
54
|
+
function makeFreshSupply(seed = 0) {
|
|
55
|
+
let n = seed;
|
|
56
|
+
return () => `_x${n++}`;
|
|
57
|
+
}
|
|
58
|
+
function freshName(base, avoid) {
|
|
59
|
+
// Quita un sufijo `#N` previo para no acumular hashes.
|
|
60
|
+
const stripped = base.replace(/#\d+$/, '');
|
|
61
|
+
let i = 0;
|
|
62
|
+
let candidate = `${stripped}#${i}`;
|
|
63
|
+
while (avoid.has(candidate)) {
|
|
64
|
+
i += 1;
|
|
65
|
+
candidate = `${stripped}#${i}`;
|
|
66
|
+
}
|
|
67
|
+
return candidate;
|
|
68
|
+
}
|
|
69
|
+
// α-renombra todos los binders del término usando `freshSupply`. Útil
|
|
70
|
+
// para canonicalizar términos sin ambigüedad de nombres.
|
|
71
|
+
function alphaRename(t, freshSupply) {
|
|
72
|
+
return rename(t, new Map(), freshSupply);
|
|
73
|
+
}
|
|
74
|
+
function rename(t, env, supply) {
|
|
75
|
+
switch (t.kind) {
|
|
76
|
+
case 'var':
|
|
77
|
+
return { kind: 'var', name: env.get(t.name) ?? t.name };
|
|
78
|
+
case 'app':
|
|
79
|
+
return { kind: 'app', fn: rename(t.fn, env, supply), arg: rename(t.arg, env, supply) };
|
|
80
|
+
case 'abs': {
|
|
81
|
+
const fresh = supply();
|
|
82
|
+
const newEnv = new Map(env);
|
|
83
|
+
newEnv.set(t.param, fresh);
|
|
84
|
+
return { kind: 'abs', param: fresh, body: rename(t.body, newEnv, supply) };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Sustitución capture-avoiding: t[varName := replacement].
|
|
89
|
+
// Cuando un binder choca con FV(replacement), α-renombra el binder a
|
|
90
|
+
// un nombre fresco antes de descender — evita captura silenciosa.
|
|
91
|
+
function substitute(t, varName, replacement) {
|
|
92
|
+
const fvRep = freeVars(replacement);
|
|
93
|
+
return subst(t, varName, replacement, fvRep);
|
|
94
|
+
}
|
|
95
|
+
function subst(t, name, value, fvValue) {
|
|
96
|
+
switch (t.kind) {
|
|
97
|
+
case 'var':
|
|
98
|
+
return t.name === name ? value : t;
|
|
99
|
+
case 'app':
|
|
100
|
+
return {
|
|
101
|
+
kind: 'app',
|
|
102
|
+
fn: subst(t.fn, name, value, fvValue),
|
|
103
|
+
arg: subst(t.arg, name, value, fvValue),
|
|
104
|
+
};
|
|
105
|
+
case 'abs': {
|
|
106
|
+
if (t.param === name)
|
|
107
|
+
return t; // ligado: la sustitución se detiene
|
|
108
|
+
if (!fvValue.has(t.param)) {
|
|
109
|
+
return { kind: 'abs', param: t.param, body: subst(t.body, name, value, fvValue) };
|
|
110
|
+
}
|
|
111
|
+
// Captura inminente: renombra el binder.
|
|
112
|
+
const avoid = new Set([...fvValue, ...allNames(t.body)]);
|
|
113
|
+
avoid.add(name);
|
|
114
|
+
const fresh = freshName(t.param, avoid);
|
|
115
|
+
const renamedBody = subst(t.body, t.param, { kind: 'var', name: fresh }, new Set([fresh]));
|
|
116
|
+
return { kind: 'abs', param: fresh, body: subst(renamedBody, name, value, fvValue) };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=substitution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"substitution.js","sourceRoot":"","sources":["../../src/lambda-calc/substitution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type Term = {
|
|
2
|
+
kind: 'var';
|
|
3
|
+
name: string;
|
|
4
|
+
} | {
|
|
5
|
+
kind: 'abs';
|
|
6
|
+
param: string;
|
|
7
|
+
body: Term;
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'app';
|
|
10
|
+
fn: Term;
|
|
11
|
+
arg: Term;
|
|
12
|
+
};
|
|
13
|
+
export declare const v: (name: string) => Term;
|
|
14
|
+
export declare const lam: (param: string, body: Term) => Term;
|
|
15
|
+
export declare const ap: (fn: Term, arg: Term) => Term;
|
|
16
|
+
export declare const apN: (head: Term, ...args: Term[]) => Term;
|
|
17
|
+
export declare function alphaEq(a: Term, b: Term): boolean;
|
|
18
|
+
export declare function termToString(t: Term): string;
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/types.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;AAGzC,eAAO,MAAM,CAAC,GAAI,MAAM,MAAM,KAAG,IAA+B,CAAC;AACjE,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,EAAE,MAAM,IAAI,KAAG,IAAsC,CAAC;AACvF,eAAO,MAAM,EAAE,GAAI,IAAI,IAAI,EAAE,KAAK,IAAI,KAAG,IAAkC,CAAC;AAG5E,eAAO,MAAM,GAAG,GAAI,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,KAAG,IAA6B,CAAC;AAIhF,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAEjD;AAuCD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAY5C"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// λ-cálculo untyped — Términos, constructores y serialización
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Distinto al módulo curry-howard (typed λ-cálculo con conexión a
|
|
7
|
+
// deducción natural): aquí trabajamos λ puro, sin tipos, con
|
|
8
|
+
// β/η-reducción, varias estrategias de normalización y los
|
|
9
|
+
// combinadores clásicos (I, K, S, Y) + Church numerals.
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.apN = exports.ap = exports.lam = exports.v = void 0;
|
|
12
|
+
exports.alphaEq = alphaEq;
|
|
13
|
+
exports.termToString = termToString;
|
|
14
|
+
// ---------- Constructores convenientes ----------
|
|
15
|
+
const v = (name) => ({ kind: 'var', name });
|
|
16
|
+
exports.v = v;
|
|
17
|
+
const lam = (param, body) => ({ kind: 'abs', param, body });
|
|
18
|
+
exports.lam = lam;
|
|
19
|
+
const ap = (fn, arg) => ({ kind: 'app', fn, arg });
|
|
20
|
+
exports.ap = ap;
|
|
21
|
+
// Aplicación n-aria por la izquierda: apN(f, a, b, c) = ((f a) b) c
|
|
22
|
+
const apN = (head, ...args) => args.reduce(exports.ap, head);
|
|
23
|
+
exports.apN = apN;
|
|
24
|
+
// Igualdad estructural módulo α (alpha-equivalencia).
|
|
25
|
+
// Compara términos renombrando binders a posiciones canónicas.
|
|
26
|
+
function alphaEq(a, b) {
|
|
27
|
+
return alphaEqEnv(a, b, new Map(), new Map(), { n: 0 });
|
|
28
|
+
}
|
|
29
|
+
function alphaEqEnv(a, b, envA, envB, counter) {
|
|
30
|
+
if (a.kind !== b.kind)
|
|
31
|
+
return false;
|
|
32
|
+
switch (a.kind) {
|
|
33
|
+
case 'var': {
|
|
34
|
+
const bb = b;
|
|
35
|
+
const ia = envA.get(a.name);
|
|
36
|
+
const ib = envB.get(bb.name);
|
|
37
|
+
if (ia === undefined && ib === undefined)
|
|
38
|
+
return a.name === bb.name; // free vars
|
|
39
|
+
return ia === ib;
|
|
40
|
+
}
|
|
41
|
+
case 'abs': {
|
|
42
|
+
const bb = b;
|
|
43
|
+
const idx = counter.n++;
|
|
44
|
+
const newA = new Map(envA);
|
|
45
|
+
newA.set(a.param, idx);
|
|
46
|
+
const newB = new Map(envB);
|
|
47
|
+
newB.set(bb.param, idx);
|
|
48
|
+
return alphaEqEnv(a.body, bb.body, newA, newB, counter);
|
|
49
|
+
}
|
|
50
|
+
case 'app': {
|
|
51
|
+
const bb = b;
|
|
52
|
+
return (alphaEqEnv(a.fn, bb.fn, envA, envB, counter) &&
|
|
53
|
+
alphaEqEnv(a.arg, bb.arg, envA, envB, counter));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Pretty-printer minimalista. Aplicación es asociativa a la izquierda,
|
|
58
|
+
// abstracción se extiende lo más posible a la derecha.
|
|
59
|
+
function termToString(t) {
|
|
60
|
+
switch (t.kind) {
|
|
61
|
+
case 'var':
|
|
62
|
+
return t.name;
|
|
63
|
+
case 'abs':
|
|
64
|
+
return `(λ${t.param}.${termToString(t.body)})`;
|
|
65
|
+
case 'app': {
|
|
66
|
+
const fn = termToString(t.fn);
|
|
67
|
+
const arg = t.arg.kind === 'app' ? `(${termToString(t.arg)})` : termToString(t.arg);
|
|
68
|
+
return `(${fn} ${arg})`;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lambda-calc/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CTLFormula, KripkeStructure } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Model checking de Computation Tree Logic.
|
|
4
|
+
* Devuelve un mapa `stateId → φ se cumple en ese estado`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function modelCheckCTL(M: KripkeStructure, phi: CTLFormula): Map<string, boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* `M ⊨ φ` cuando φ se cumple en todos los estados iniciales.
|
|
9
|
+
* Si `initial` está vacío, devuelve `true` por vacuidad (consistente con
|
|
10
|
+
* la lectura "no hay contraejemplo en S0").
|
|
11
|
+
*/
|
|
12
|
+
export declare function satisfiesCTL(M: KripkeStructure, phi: CTLFormula): boolean;
|
|
13
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/profiles/ctl/check.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkU3D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAGvF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAMzE"}
|