@stevenvo780/st-lang 4.5.1 → 4.6.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/bdd/index.d.ts +4 -0
- package/dist/bdd/index.d.ts.map +1 -0
- package/dist/bdd/index.js +29 -0
- package/dist/bdd/index.js.map +1 -0
- package/dist/bdd/manager.d.ts +122 -0
- package/dist/bdd/manager.d.ts.map +1 -0
- package/dist/bdd/manager.js +524 -0
- package/dist/bdd/manager.js.map +1 -0
- package/dist/bdd/types.d.ts +20 -0
- package/dist/bdd/types.d.ts.map +1 -0
- package/dist/bdd/types.js +28 -0
- package/dist/bdd/types.js.map +1 -0
- package/dist/categorical/fin-set.d.ts +39 -0
- package/dist/categorical/fin-set.d.ts.map +1 -0
- package/dist/categorical/fin-set.js +217 -0
- package/dist/categorical/fin-set.js.map +1 -0
- package/dist/categorical/free.d.ts +23 -0
- package/dist/categorical/free.d.ts.map +1 -0
- package/dist/categorical/free.js +168 -0
- package/dist/categorical/free.js.map +1 -0
- package/dist/categorical/functor.d.ts +40 -0
- package/dist/categorical/functor.d.ts.map +1 -0
- package/dist/categorical/functor.js +139 -0
- package/dist/categorical/functor.js.map +1 -0
- package/dist/categorical/index.d.ts +11 -0
- package/dist/categorical/index.d.ts.map +1 -0
- package/dist/categorical/index.js +33 -0
- package/dist/categorical/index.js.map +1 -0
- package/dist/categorical/limits.d.ts +64 -0
- package/dist/categorical/limits.d.ts.map +1 -0
- package/dist/categorical/limits.js +248 -0
- package/dist/categorical/limits.js.map +1 -0
- package/dist/categorical/monoidal.d.ts +14 -0
- package/dist/categorical/monoidal.d.ts.map +1 -0
- package/dist/categorical/monoidal.js +148 -0
- package/dist/categorical/monoidal.js.map +1 -0
- package/dist/categorical/poset.d.ts +14 -0
- package/dist/categorical/poset.d.ts.map +1 -0
- package/dist/categorical/poset.js +115 -0
- package/dist/categorical/poset.js.map +1 -0
- package/dist/categorical/types.d.ts +111 -0
- package/dist/categorical/types.d.ts.map +1 -0
- package/dist/categorical/types.js +15 -0
- package/dist/categorical/types.js.map +1 -0
- package/dist/csp-hoare/analysis.d.ts +51 -0
- package/dist/csp-hoare/analysis.d.ts.map +1 -0
- package/dist/csp-hoare/analysis.js +317 -0
- package/dist/csp-hoare/analysis.js.map +1 -0
- package/dist/csp-hoare/examples.d.ts +33 -0
- package/dist/csp-hoare/examples.d.ts.map +1 -0
- package/dist/csp-hoare/examples.js +108 -0
- package/dist/csp-hoare/examples.js.map +1 -0
- package/dist/csp-hoare/index.d.ts +6 -0
- package/dist/csp-hoare/index.d.ts.map +1 -0
- package/dist/csp-hoare/index.js +50 -0
- package/dist/csp-hoare/index.js.map +1 -0
- package/dist/csp-hoare/semantics.d.ts +49 -0
- package/dist/csp-hoare/semantics.d.ts.map +1 -0
- package/dist/csp-hoare/semantics.js +494 -0
- package/dist/csp-hoare/semantics.js.map +1 -0
- package/dist/csp-hoare/types.d.ts +60 -0
- package/dist/csp-hoare/types.d.ts.map +1 -0
- package/dist/csp-hoare/types.js +31 -0
- package/dist/csp-hoare/types.js.map +1 -0
- package/dist/game-theory/common-games.d.ts +50 -0
- package/dist/game-theory/common-games.d.ts.map +1 -0
- package/dist/game-theory/common-games.js +112 -0
- package/dist/game-theory/common-games.js.map +1 -0
- package/dist/game-theory/dominance.d.ts +26 -0
- package/dist/game-theory/dominance.d.ts.map +1 -0
- package/dist/game-theory/dominance.js +203 -0
- package/dist/game-theory/dominance.js.map +1 -0
- package/dist/game-theory/index.d.ts +8 -0
- package/dist/game-theory/index.d.ts.map +1 -0
- package/dist/game-theory/index.js +47 -0
- package/dist/game-theory/index.js.map +1 -0
- package/dist/game-theory/lemke-howson.d.ts +3 -0
- package/dist/game-theory/lemke-howson.d.ts.map +1 -0
- package/dist/game-theory/lemke-howson.js +269 -0
- package/dist/game-theory/lemke-howson.js.map +1 -0
- package/dist/game-theory/linalg.d.ts +7 -0
- package/dist/game-theory/linalg.d.ts.map +1 -0
- package/dist/game-theory/linalg.js +69 -0
- package/dist/game-theory/linalg.js.map +1 -0
- package/dist/game-theory/pure-nash.d.ts +3 -0
- package/dist/game-theory/pure-nash.d.ts.map +1 -0
- package/dist/game-theory/pure-nash.js +86 -0
- package/dist/game-theory/pure-nash.js.map +1 -0
- package/dist/game-theory/support-enumeration.d.ts +3 -0
- package/dist/game-theory/support-enumeration.d.ts.map +1 -0
- package/dist/game-theory/support-enumeration.js +214 -0
- package/dist/game-theory/support-enumeration.js.map +1 -0
- package/dist/game-theory/types.d.ts +57 -0
- package/dist/game-theory/types.d.ts.map +1 -0
- package/dist/game-theory/types.js +191 -0
- package/dist/game-theory/types.js.map +1 -0
- package/dist/hindley-milner/index.d.ts +7 -0
- package/dist/hindley-milner/index.d.ts.map +1 -0
- package/dist/hindley-milner/index.js +60 -0
- package/dist/hindley-milner/index.js.map +1 -0
- package/dist/hindley-milner/infer.d.ts +26 -0
- package/dist/hindley-milner/infer.d.ts.map +1 -0
- package/dist/hindley-milner/infer.js +278 -0
- package/dist/hindley-milner/infer.js.map +1 -0
- package/dist/hindley-milner/substitution.d.ts +21 -0
- package/dist/hindley-milner/substitution.d.ts.map +1 -0
- package/dist/hindley-milner/substitution.js +215 -0
- package/dist/hindley-milner/substitution.js.map +1 -0
- package/dist/hindley-milner/types.d.ts +84 -0
- package/dist/hindley-milner/types.d.ts.map +1 -0
- package/dist/hindley-milner/types.js +166 -0
- package/dist/hindley-milner/types.js.map +1 -0
- package/dist/hott/equality.d.ts +4 -0
- package/dist/hott/equality.d.ts.map +1 -0
- package/dist/hott/equality.js +108 -0
- package/dist/hott/equality.js.map +1 -0
- package/dist/hott/index.d.ts +13 -0
- package/dist/hott/index.d.ts.map +1 -0
- package/dist/hott/index.js +77 -0
- package/dist/hott/index.js.map +1 -0
- package/dist/hott/infer.d.ts +11 -0
- package/dist/hott/infer.d.ts.map +1 -0
- package/dist/hott/infer.js +465 -0
- package/dist/hott/infer.js.map +1 -0
- package/dist/hott/normalize.d.ts +5 -0
- package/dist/hott/normalize.d.ts.map +1 -0
- package/dist/hott/normalize.js +240 -0
- package/dist/hott/normalize.js.map +1 -0
- package/dist/hott/path-algebra.d.ts +25 -0
- package/dist/hott/path-algebra.d.ts.map +1 -0
- package/dist/hott/path-algebra.js +67 -0
- package/dist/hott/path-algebra.js.map +1 -0
- package/dist/hott/substitute.d.ts +3 -0
- package/dist/hott/substitute.d.ts.map +1 -0
- package/dist/hott/substitute.js +131 -0
- package/dist/hott/substitute.js.map +1 -0
- package/dist/hott/types.d.ts +126 -0
- package/dist/hott/types.d.ts.map +1 -0
- package/dist/hott/types.js +346 -0
- package/dist/hott/types.js.map +1 -0
- package/dist/index.d.ts +16 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +83 -3
- package/dist/index.js.map +1 -1
- package/dist/information-theory/index.d.ts +29 -0
- package/dist/information-theory/index.d.ts.map +1 -0
- package/dist/information-theory/index.js +323 -0
- package/dist/information-theory/index.js.map +1 -0
- package/dist/lemma-synthesis/index.d.ts +124 -0
- package/dist/lemma-synthesis/index.d.ts.map +1 -0
- package/dist/lemma-synthesis/index.js +640 -0
- package/dist/lemma-synthesis/index.js.map +1 -0
- package/dist/namespaces/logic.d.ts +42 -0
- package/dist/namespaces/logic.d.ts.map +1 -0
- package/dist/namespaces/logic.js +112 -0
- package/dist/namespaces/logic.js.map +1 -0
- package/dist/namespaces/proof-systems.d.ts +18 -0
- package/dist/namespaces/proof-systems.d.ts.map +1 -0
- package/dist/namespaces/proof-systems.js +59 -0
- package/dist/namespaces/proof-systems.js.map +1 -0
- package/dist/namespaces/reasoning.d.ts +26 -0
- package/dist/namespaces/reasoning.d.ts.map +1 -0
- package/dist/namespaces/reasoning.js +72 -0
- package/dist/namespaces/reasoning.js.map +1 -0
- package/dist/namespaces/semantics.d.ts +21 -0
- package/dist/namespaces/semantics.d.ts.map +1 -0
- package/dist/namespaces/semantics.js +64 -0
- package/dist/namespaces/semantics.js.map +1 -0
- package/dist/namespaces/solvers.d.ts +22 -0
- package/dist/namespaces/solvers.d.ts.map +1 -0
- package/dist/namespaces/solvers.js +66 -0
- package/dist/namespaces/solvers.js.map +1 -0
- package/dist/namespaces/type-theory.d.ts +22 -0
- package/dist/namespaces/type-theory.d.ts.map +1 -0
- package/dist/namespaces/type-theory.js +65 -0
- package/dist/namespaces/type-theory.js.map +1 -0
- package/dist/optimization/branch-and-bound.d.ts +11 -0
- package/dist/optimization/branch-and-bound.d.ts.map +1 -0
- package/dist/optimization/branch-and-bound.js +311 -0
- package/dist/optimization/branch-and-bound.js.map +1 -0
- package/dist/optimization/index.d.ts +5 -0
- package/dist/optimization/index.d.ts.map +1 -0
- package/dist/optimization/index.js +20 -0
- package/dist/optimization/index.js.map +1 -0
- package/dist/optimization/simplex.d.ts +8 -0
- package/dist/optimization/simplex.d.ts.map +1 -0
- package/dist/optimization/simplex.js +408 -0
- package/dist/optimization/simplex.js.map +1 -0
- package/dist/optimization/standard-form.d.ts +11 -0
- package/dist/optimization/standard-form.d.ts.map +1 -0
- package/dist/optimization/standard-form.js +112 -0
- package/dist/optimization/standard-form.js.map +1 -0
- package/dist/optimization/types.d.ts +44 -0
- package/dist/optimization/types.d.ts.map +1 -0
- package/dist/optimization/types.js +15 -0
- package/dist/optimization/types.js.map +1 -0
- package/dist/profiles/hol/connectives.d.ts +46 -0
- package/dist/profiles/hol/connectives.d.ts.map +1 -0
- package/dist/profiles/hol/connectives.js +104 -0
- package/dist/profiles/hol/connectives.js.map +1 -0
- package/dist/profiles/hol/index.d.ts +7 -0
- package/dist/profiles/hol/index.d.ts.map +1 -0
- package/dist/profiles/hol/index.js +77 -0
- package/dist/profiles/hol/index.js.map +1 -0
- package/dist/profiles/hol/rules.d.ts +31 -0
- package/dist/profiles/hol/rules.d.ts.map +1 -0
- package/dist/profiles/hol/rules.js +258 -0
- package/dist/profiles/hol/rules.js.map +1 -0
- package/dist/profiles/hol/term.d.ts +52 -0
- package/dist/profiles/hol/term.d.ts.map +1 -0
- package/dist/profiles/hol/term.js +345 -0
- package/dist/profiles/hol/term.js.map +1 -0
- package/dist/profiles/hol/type-system.d.ts +38 -0
- package/dist/profiles/hol/type-system.d.ts.map +1 -0
- package/dist/profiles/hol/type-system.js +133 -0
- package/dist/profiles/hol/type-system.js.map +1 -0
- package/dist/profiles/hol/types.d.ts +59 -0
- package/dist/profiles/hol/types.d.ts.map +1 -0
- package/dist/profiles/hol/types.js +26 -0
- package/dist/profiles/hol/types.js.map +1 -0
- package/dist/smt-lib/ast.d.ts +138 -0
- package/dist/smt-lib/ast.d.ts.map +1 -0
- package/dist/smt-lib/ast.js +73 -0
- package/dist/smt-lib/ast.js.map +1 -0
- package/dist/smt-lib/emitter.d.ts +12 -0
- package/dist/smt-lib/emitter.d.ts.map +1 -0
- package/dist/smt-lib/emitter.js +174 -0
- package/dist/smt-lib/emitter.js.map +1 -0
- package/dist/smt-lib/index.d.ts +6 -0
- package/dist/smt-lib/index.d.ts.map +1 -0
- package/dist/smt-lib/index.js +31 -0
- package/dist/smt-lib/index.js.map +1 -0
- package/dist/smt-lib/parser.d.ts +13 -0
- package/dist/smt-lib/parser.d.ts.map +1 -0
- package/dist/smt-lib/parser.js +614 -0
- package/dist/smt-lib/parser.js.map +1 -0
- package/dist/smt-lib/tokenizer.d.ts +16 -0
- package/dist/smt-lib/tokenizer.d.ts.map +1 -0
- package/dist/smt-lib/tokenizer.js +234 -0
- package/dist/smt-lib/tokenizer.js.map +1 -0
- package/dist/tactic-dsl/combinators.d.ts +6 -0
- package/dist/tactic-dsl/combinators.d.ts.map +1 -0
- package/dist/tactic-dsl/combinators.js +98 -0
- package/dist/tactic-dsl/combinators.js.map +1 -0
- package/dist/tactic-dsl/index.d.ts +39 -0
- package/dist/tactic-dsl/index.d.ts.map +1 -0
- package/dist/tactic-dsl/index.js +162 -0
- package/dist/tactic-dsl/index.js.map +1 -0
- package/dist/tactic-dsl/tactics.d.ts +21 -0
- package/dist/tactic-dsl/tactics.d.ts.map +1 -0
- package/dist/tactic-dsl/tactics.js +536 -0
- package/dist/tactic-dsl/tactics.js.map +1 -0
- package/dist/tactic-dsl/types.d.ts +54 -0
- package/dist/tactic-dsl/types.d.ts.map +1 -0
- package/dist/tactic-dsl/types.js +226 -0
- package/dist/tactic-dsl/types.js.map +1 -0
- package/dist/tests/api/namespaces.test.d.ts +9 -0
- package/dist/tests/api/namespaces.test.d.ts.map +1 -0
- package/dist/tests/api/namespaces.test.js +218 -0
- package/dist/tests/api/namespaces.test.js.map +1 -0
- package/dist/tests/bdd/manager.test.d.ts +2 -0
- package/dist/tests/bdd/manager.test.d.ts.map +1 -0
- package/dist/tests/bdd/manager.test.js +472 -0
- package/dist/tests/bdd/manager.test.js.map +1 -0
- package/dist/tests/categorical/categorical.test.d.ts +2 -0
- package/dist/tests/categorical/categorical.test.d.ts.map +1 -0
- package/dist/tests/categorical/categorical.test.js +300 -0
- package/dist/tests/categorical/categorical.test.js.map +1 -0
- package/dist/tests/csp-hoare/csp-hoare.test.d.ts +2 -0
- package/dist/tests/csp-hoare/csp-hoare.test.d.ts.map +1 -0
- package/dist/tests/csp-hoare/csp-hoare.test.js +313 -0
- package/dist/tests/csp-hoare/csp-hoare.test.js.map +1 -0
- package/dist/tests/game-theory/game-theory.test.d.ts +2 -0
- package/dist/tests/game-theory/game-theory.test.d.ts.map +1 -0
- package/dist/tests/game-theory/game-theory.test.js +252 -0
- package/dist/tests/game-theory/game-theory.test.js.map +1 -0
- package/dist/tests/hindley-milner/hindley-milner.test.d.ts +2 -0
- package/dist/tests/hindley-milner/hindley-milner.test.d.ts.map +1 -0
- package/dist/tests/hindley-milner/hindley-milner.test.js +327 -0
- package/dist/tests/hindley-milner/hindley-milner.test.js.map +1 -0
- package/dist/tests/hol/hol.test.d.ts +2 -0
- package/dist/tests/hol/hol.test.d.ts.map +1 -0
- package/dist/tests/hol/hol.test.js +340 -0
- package/dist/tests/hol/hol.test.js.map +1 -0
- package/dist/tests/hott/hott.test.d.ts +2 -0
- package/dist/tests/hott/hott.test.d.ts.map +1 -0
- package/dist/tests/hott/hott.test.js +271 -0
- package/dist/tests/hott/hott.test.js.map +1 -0
- package/dist/tests/information-theory/information-theory.test.d.ts +2 -0
- package/dist/tests/information-theory/information-theory.test.d.ts.map +1 -0
- package/dist/tests/information-theory/information-theory.test.js +291 -0
- package/dist/tests/information-theory/information-theory.test.js.map +1 -0
- package/dist/tests/lemma-synthesis/lemma-synthesis.test.d.ts +2 -0
- package/dist/tests/lemma-synthesis/lemma-synthesis.test.d.ts.map +1 -0
- package/dist/tests/lemma-synthesis/lemma-synthesis.test.js +460 -0
- package/dist/tests/lemma-synthesis/lemma-synthesis.test.js.map +1 -0
- package/dist/tests/optimization/ilp.test.d.ts +2 -0
- package/dist/tests/optimization/ilp.test.d.ts.map +1 -0
- package/dist/tests/optimization/ilp.test.js +204 -0
- package/dist/tests/optimization/ilp.test.js.map +1 -0
- package/dist/tests/optimization/lp.test.d.ts +2 -0
- package/dist/tests/optimization/lp.test.d.ts.map +1 -0
- package/dist/tests/optimization/lp.test.js +224 -0
- package/dist/tests/optimization/lp.test.js.map +1 -0
- package/dist/tests/properties/agm.property.test.d.ts +2 -0
- package/dist/tests/properties/agm.property.test.d.ts.map +1 -0
- package/dist/tests/properties/agm.property.test.js +75 -0
- package/dist/tests/properties/agm.property.test.js.map +1 -0
- package/dist/tests/properties/anti-unification.property.test.d.ts +2 -0
- package/dist/tests/properties/anti-unification.property.test.d.ts.map +1 -0
- package/dist/tests/properties/anti-unification.property.test.js +43 -0
- package/dist/tests/properties/anti-unification.property.test.js.map +1 -0
- package/dist/tests/properties/argumentation.property.test.d.ts +2 -0
- package/dist/tests/properties/argumentation.property.test.d.ts.map +1 -0
- package/dist/tests/properties/argumentation.property.test.js +51 -0
- package/dist/tests/properties/argumentation.property.test.js.map +1 -0
- package/dist/tests/properties/bayesian.property.test.d.ts +2 -0
- package/dist/tests/properties/bayesian.property.test.d.ts.map +1 -0
- package/dist/tests/properties/bayesian.property.test.js +32 -0
- package/dist/tests/properties/bayesian.property.test.js.map +1 -0
- package/dist/tests/properties/bisimulation.property.test.d.ts +2 -0
- package/dist/tests/properties/bisimulation.property.test.d.ts.map +1 -0
- package/dist/tests/properties/bisimulation.property.test.js +50 -0
- package/dist/tests/properties/bisimulation.property.test.js.map +1 -0
- package/dist/tests/properties/cdcl.property.test.d.ts +2 -0
- package/dist/tests/properties/cdcl.property.test.d.ts.map +1 -0
- package/dist/tests/properties/cdcl.property.test.js +70 -0
- package/dist/tests/properties/cdcl.property.test.js.map +1 -0
- package/dist/tests/properties/coinduction.property.test.d.ts +2 -0
- package/dist/tests/properties/coinduction.property.test.d.ts.map +1 -0
- package/dist/tests/properties/coinduction.property.test.js +34 -0
- package/dist/tests/properties/coinduction.property.test.js.map +1 -0
- package/dist/tests/properties/constructive-reals.property.test.d.ts +2 -0
- package/dist/tests/properties/constructive-reals.property.test.d.ts.map +1 -0
- package/dist/tests/properties/constructive-reals.property.test.js +59 -0
- package/dist/tests/properties/constructive-reals.property.test.js.map +1 -0
- package/dist/tests/properties/csp.property.test.d.ts +2 -0
- package/dist/tests/properties/csp.property.test.d.ts.map +1 -0
- package/dist/tests/properties/csp.property.test.js +58 -0
- package/dist/tests/properties/csp.property.test.js.map +1 -0
- package/dist/tests/properties/generators.d.ts +78 -0
- package/dist/tests/properties/generators.d.ts.map +1 -0
- package/dist/tests/properties/generators.js +348 -0
- package/dist/tests/properties/generators.js.map +1 -0
- package/dist/tests/properties/ho-unify.property.test.d.ts +2 -0
- package/dist/tests/properties/ho-unify.property.test.d.ts.map +1 -0
- package/dist/tests/properties/ho-unify.property.test.js +46 -0
- package/dist/tests/properties/ho-unify.property.test.js.map +1 -0
- package/dist/tests/properties/hyperreal.property.test.d.ts +2 -0
- package/dist/tests/properties/hyperreal.property.test.d.ts.map +1 -0
- package/dist/tests/properties/hyperreal.property.test.js +33 -0
- package/dist/tests/properties/hyperreal.property.test.js.map +1 -0
- package/dist/tests/properties/intuit-nj.property.test.d.ts +2 -0
- package/dist/tests/properties/intuit-nj.property.test.d.ts.map +1 -0
- package/dist/tests/properties/intuit-nj.property.test.js +57 -0
- package/dist/tests/properties/intuit-nj.property.test.js.map +1 -0
- package/dist/tests/properties/lambda-calc.property.test.d.ts +2 -0
- package/dist/tests/properties/lambda-calc.property.test.d.ts.map +1 -0
- package/dist/tests/properties/lambda-calc.property.test.js +35 -0
- package/dist/tests/properties/lambda-calc.property.test.js.map +1 -0
- package/dist/tests/properties/mln.property.test.d.ts +2 -0
- package/dist/tests/properties/mln.property.test.d.ts.map +1 -0
- package/dist/tests/properties/mln.property.test.js +41 -0
- package/dist/tests/properties/mln.property.test.js.map +1 -0
- package/dist/tests/properties/mltt.property.test.d.ts +2 -0
- package/dist/tests/properties/mltt.property.test.d.ts.map +1 -0
- package/dist/tests/properties/mltt.property.test.js +33 -0
- package/dist/tests/properties/mltt.property.test.js.map +1 -0
- package/dist/tests/properties/nbe.property.test.d.ts +2 -0
- package/dist/tests/properties/nbe.property.test.d.ts.map +1 -0
- package/dist/tests/properties/nbe.property.test.js +44 -0
- package/dist/tests/properties/nbe.property.test.js.map +1 -0
- package/dist/tests/properties/planning.property.test.d.ts +2 -0
- package/dist/tests/properties/planning.property.test.d.ts.map +1 -0
- package/dist/tests/properties/planning.property.test.js +51 -0
- package/dist/tests/properties/planning.property.test.js.map +1 -0
- package/dist/tests/properties/profile-bridge.property.test.d.ts +2 -0
- package/dist/tests/properties/profile-bridge.property.test.d.ts.map +1 -0
- package/dist/tests/properties/profile-bridge.property.test.js +71 -0
- package/dist/tests/properties/profile-bridge.property.test.js.map +1 -0
- package/dist/tests/properties/refinement-types.property.test.d.ts +2 -0
- package/dist/tests/properties/refinement-types.property.test.d.ts.map +1 -0
- package/dist/tests/properties/refinement-types.property.test.js +37 -0
- package/dist/tests/properties/refinement-types.property.test.js.map +1 -0
- package/dist/tests/properties/sequent-g3.property.test.d.ts +2 -0
- package/dist/tests/properties/sequent-g3.property.test.d.ts.map +1 -0
- package/dist/tests/properties/sequent-g3.property.test.js +34 -0
- package/dist/tests/properties/sequent-g3.property.test.js.map +1 -0
- package/dist/tests/properties/symbolic-diff.property.test.d.ts +2 -0
- package/dist/tests/properties/symbolic-diff.property.test.d.ts.map +1 -0
- package/dist/tests/properties/symbolic-diff.property.test.js +49 -0
- package/dist/tests/properties/symbolic-diff.property.test.js.map +1 -0
- package/dist/tests/properties/system-f.property.test.d.ts +2 -0
- package/dist/tests/properties/system-f.property.test.d.ts.map +1 -0
- package/dist/tests/properties/system-f.property.test.js +37 -0
- package/dist/tests/properties/system-f.property.test.js.map +1 -0
- package/dist/tests/properties/theorem-cache.property.test.d.ts +2 -0
- package/dist/tests/properties/theorem-cache.property.test.d.ts.map +1 -0
- package/dist/tests/properties/theorem-cache.property.test.js +38 -0
- package/dist/tests/properties/theorem-cache.property.test.js.map +1 -0
- package/dist/tests/properties/trs.property.test.d.ts +2 -0
- package/dist/tests/properties/trs.property.test.d.ts.map +1 -0
- package/dist/tests/properties/trs.property.test.js +34 -0
- package/dist/tests/properties/trs.property.test.js.map +1 -0
- package/dist/tests/properties/unification.property.test.d.ts +2 -0
- package/dist/tests/properties/unification.property.test.d.ts.map +1 -0
- package/dist/tests/properties/unification.property.test.js +42 -0
- package/dist/tests/properties/unification.property.test.js.map +1 -0
- package/dist/tests/smt-lib/emitter.test.d.ts +2 -0
- package/dist/tests/smt-lib/emitter.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/emitter.test.js +155 -0
- package/dist/tests/smt-lib/emitter.test.js.map +1 -0
- package/dist/tests/smt-lib/parser.test.d.ts +2 -0
- package/dist/tests/smt-lib/parser.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/parser.test.js +164 -0
- package/dist/tests/smt-lib/parser.test.js.map +1 -0
- package/dist/tests/smt-lib/tokenizer.test.d.ts +2 -0
- package/dist/tests/smt-lib/tokenizer.test.d.ts.map +1 -0
- package/dist/tests/smt-lib/tokenizer.test.js +59 -0
- package/dist/tests/smt-lib/tokenizer.test.js.map +1 -0
- package/dist/tests/tactic-dsl/tactic-dsl.test.d.ts +2 -0
- package/dist/tests/tactic-dsl/tactic-dsl.test.d.ts.map +1 -0
- package/dist/tests/tactic-dsl/tactic-dsl.test.js +259 -0
- package/dist/tests/tactic-dsl/tactic-dsl.test.js.map +1 -0
- package/dist/tests/tptp/bridge.test.d.ts +2 -0
- package/dist/tests/tptp/bridge.test.d.ts.map +1 -0
- package/dist/tests/tptp/bridge.test.js +154 -0
- package/dist/tests/tptp/bridge.test.js.map +1 -0
- package/dist/tests/tptp/emitter.test.d.ts +2 -0
- package/dist/tests/tptp/emitter.test.d.ts.map +1 -0
- package/dist/tests/tptp/emitter.test.js +128 -0
- package/dist/tests/tptp/emitter.test.js.map +1 -0
- package/dist/tests/tptp/parser.test.d.ts +2 -0
- package/dist/tests/tptp/parser.test.d.ts.map +1 -0
- package/dist/tests/tptp/parser.test.js +192 -0
- package/dist/tests/tptp/parser.test.js.map +1 -0
- package/dist/tests/tptp/tokenizer.test.d.ts +2 -0
- package/dist/tests/tptp/tokenizer.test.d.ts.map +1 -0
- package/dist/tests/tptp/tokenizer.test.js +60 -0
- package/dist/tests/tptp/tokenizer.test.js.map +1 -0
- package/dist/tptp/ast.d.ts +73 -0
- package/dist/tptp/ast.d.ts.map +1 -0
- package/dist/tptp/ast.js +35 -0
- package/dist/tptp/ast.js.map +1 -0
- package/dist/tptp/bridge.d.ts +14 -0
- package/dist/tptp/bridge.d.ts.map +1 -0
- package/dist/tptp/bridge.js +146 -0
- package/dist/tptp/bridge.js.map +1 -0
- package/dist/tptp/emitter.d.ts +5 -0
- package/dist/tptp/emitter.d.ts.map +1 -0
- package/dist/tptp/emitter.js +103 -0
- package/dist/tptp/emitter.js.map +1 -0
- package/dist/tptp/index.d.ts +7 -0
- package/dist/tptp/index.d.ts.map +1 -0
- package/dist/tptp/index.js +31 -0
- package/dist/tptp/index.js.map +1 -0
- package/dist/tptp/parser.d.ts +23 -0
- package/dist/tptp/parser.d.ts.map +1 -0
- package/dist/tptp/parser.js +440 -0
- package/dist/tptp/parser.js.map +1 -0
- package/dist/tptp/tokenizer.d.ts +14 -0
- package/dist/tptp/tokenizer.d.ts.map +1 -0
- package/dist/tptp/tokenizer.js +264 -0
- package/dist/tptp/tokenizer.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/bdd/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type BDDNode = {
|
|
2
|
+
kind: 'terminal';
|
|
3
|
+
value: boolean;
|
|
4
|
+
} | {
|
|
5
|
+
kind: 'internal';
|
|
6
|
+
variable: number;
|
|
7
|
+
low: BDDNode;
|
|
8
|
+
high: BDDNode;
|
|
9
|
+
id: number;
|
|
10
|
+
};
|
|
11
|
+
export interface BDDStats {
|
|
12
|
+
nodes: number;
|
|
13
|
+
reductions: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function isTerminal(b: BDDNode): b is {
|
|
16
|
+
kind: 'terminal';
|
|
17
|
+
value: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare function nodeId(b: BDDNode): string;
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bdd/types.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAEhF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAEzC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ROBDD — Tipos de nodos
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Un ROBDD (Reduced Ordered Binary Decision Diagram) representa
|
|
7
|
+
// una función booleana como un DAG canónico bajo un orden fijo de
|
|
8
|
+
// variables. Cada nodo interno tiene:
|
|
9
|
+
// - una variable `variable` (índice según el orden global)
|
|
10
|
+
// - un sucesor `low` para la asignación variable = 0
|
|
11
|
+
// - un sucesor `high` para la asignación variable = 1
|
|
12
|
+
//
|
|
13
|
+
// Las hojas son terminales `true` o `false`. La canonicidad se
|
|
14
|
+
// obtiene compartiendo nodos vía unique table y aplicando las
|
|
15
|
+
// reglas de reducción:
|
|
16
|
+
// (R1) eliminación: si low === high, no se crea nodo interno
|
|
17
|
+
// (R2) isomorfismo: dos nodos con el mismo (var, low, high)
|
|
18
|
+
// comparten identidad estructural
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.isTerminal = isTerminal;
|
|
21
|
+
exports.nodeId = nodeId;
|
|
22
|
+
function isTerminal(b) {
|
|
23
|
+
return b.kind === 'terminal';
|
|
24
|
+
}
|
|
25
|
+
function nodeId(b) {
|
|
26
|
+
return b.kind === 'terminal' ? (b.value ? 'T' : 'F') : `N${b.id}`;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bdd/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,yBAAyB;AACzB,+DAA+D;AAC/D,EAAE;AACF,gEAAgE;AAChE,kEAAkE;AAClE,sCAAsC;AACtC,6DAA6D;AAC7D,uDAAuD;AACvD,wDAAwD;AACxD,EAAE;AACF,+DAA+D;AAC/D,8DAA8D;AAC9D,uBAAuB;AACvB,+DAA+D;AAC/D,8DAA8D;AAC9D,yCAAyC;;AAWzC,gCAEC;AAED,wBAEC;AAND,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AAC/B,CAAC;AAED,SAAgB,MAAM,CAAC,CAAU;IAC/B,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Category, MorId } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Objeto FinSet = nombre + conjunto de elementos. El nombre actúa
|
|
4
|
+
* como identidad estable; los elementos viven como strings.
|
|
5
|
+
*/
|
|
6
|
+
export interface FinSetObj {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly elements: ReadonlyArray<string>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Morfismo FinSet: función total entre los elementos de src y tgt.
|
|
12
|
+
* `id` es la clave única en `morphisms`. Construirla via
|
|
13
|
+
* `mkFinSetMor` garantiza coherencia con la categoría.
|
|
14
|
+
*/
|
|
15
|
+
export interface FinSetMor {
|
|
16
|
+
readonly id: MorId;
|
|
17
|
+
readonly src: string;
|
|
18
|
+
readonly tgt: string;
|
|
19
|
+
readonly fn: ReadonlyMap<string, string>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Construye un morfismo en FinSet validando que `fn` cubra
|
|
23
|
+
* todos los elementos del dominio y que sus imágenes vivan en el
|
|
24
|
+
* codominio. Lanza si el cliente intenta crear una función parcial
|
|
25
|
+
* o con valores fuera de tgt.
|
|
26
|
+
*/
|
|
27
|
+
export declare function mkFinSetMor(name: string, src: FinSetObj, tgt: FinSetObj, table: Record<string, string> | ReadonlyMap<string, string>): FinSetMor;
|
|
28
|
+
/**
|
|
29
|
+
* Construye FinSet sobre un conjunto explícito de objetos y morfismos.
|
|
30
|
+
* Cierra automáticamente bajo identidades y composiciones (transitive
|
|
31
|
+
* closure) para que `verifyAssociativity` no falle por morfismos
|
|
32
|
+
* intermedios faltantes.
|
|
33
|
+
*
|
|
34
|
+
* `maxClosureSteps` limita la expansión por seguridad cuando la
|
|
35
|
+
* categoría tiene ciclos densos; default 4 es suficiente para
|
|
36
|
+
* todos los tests del módulo.
|
|
37
|
+
*/
|
|
38
|
+
export declare function FinSet(objs: ReadonlyArray<FinSetObj>, generators?: ReadonlyArray<FinSetMor>, maxClosureSteps?: number): Category<FinSetObj, FinSetMor>;
|
|
39
|
+
//# sourceMappingURL=fin-set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fin-set.d.ts","sourceRoot":"","sources":["../../src/categorical/fin-set.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1D,SAAS,CAuBX;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,EAC9B,UAAU,GAAE,aAAa,CAAC,SAAS,CAAM,EACzC,eAAe,SAAI,GAClB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CA4JhC"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Categorical — FinSet
|
|
4
|
+
// ============================================================
|
|
5
|
+
// Categoría de conjuntos finitos (representados como objetos
|
|
6
|
+
// nombrados con su carrier explícito) y funciones totales entre
|
|
7
|
+
// ellos. Los morfismos llevan un mapa `fn: Map<string,string>`
|
|
8
|
+
// para que la igualdad e identidad sean computables.
|
|
9
|
+
// ============================================================
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.mkFinSetMor = mkFinSetMor;
|
|
12
|
+
exports.FinSet = FinSet;
|
|
13
|
+
/**
|
|
14
|
+
* Construye un morfismo en FinSet validando que `fn` cubra
|
|
15
|
+
* todos los elementos del dominio y que sus imágenes vivan en el
|
|
16
|
+
* codominio. Lanza si el cliente intenta crear una función parcial
|
|
17
|
+
* o con valores fuera de tgt.
|
|
18
|
+
*/
|
|
19
|
+
function mkFinSetMor(name, src, tgt, table) {
|
|
20
|
+
const fn = new Map();
|
|
21
|
+
const tgtSet = new Set(tgt.elements);
|
|
22
|
+
const tableMap = table instanceof Map
|
|
23
|
+
? table
|
|
24
|
+
: new Map(Object.entries(table));
|
|
25
|
+
for (const x of src.elements) {
|
|
26
|
+
const y = tableMap.get(x);
|
|
27
|
+
if (y === undefined) {
|
|
28
|
+
throw new Error(`FinSet morphism ${name}: missing image for ${x} ∈ ${src.name}`);
|
|
29
|
+
}
|
|
30
|
+
if (!tgtSet.has(y)) {
|
|
31
|
+
throw new Error(`FinSet morphism ${name}: image ${y} of ${x} not in target ${tgt.name}`);
|
|
32
|
+
}
|
|
33
|
+
fn.set(x, y);
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
id: `${src.name}→${tgt.name}:${name}`,
|
|
37
|
+
src: src.name,
|
|
38
|
+
tgt: tgt.name,
|
|
39
|
+
fn,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Construye FinSet sobre un conjunto explícito de objetos y morfismos.
|
|
44
|
+
* Cierra automáticamente bajo identidades y composiciones (transitive
|
|
45
|
+
* closure) para que `verifyAssociativity` no falle por morfismos
|
|
46
|
+
* intermedios faltantes.
|
|
47
|
+
*
|
|
48
|
+
* `maxClosureSteps` limita la expansión por seguridad cuando la
|
|
49
|
+
* categoría tiene ciclos densos; default 4 es suficiente para
|
|
50
|
+
* todos los tests del módulo.
|
|
51
|
+
*/
|
|
52
|
+
function FinSet(objs, generators = [], maxClosureSteps = 4) {
|
|
53
|
+
const objsByName = new Map(objs.map((o) => [o.name, o]));
|
|
54
|
+
const morphisms = new Map();
|
|
55
|
+
const objectsSet = new Set(objs);
|
|
56
|
+
function getObj(name) {
|
|
57
|
+
const o = objsByName.get(name);
|
|
58
|
+
if (!o)
|
|
59
|
+
throw new Error(`FinSet: unknown object ${name}`);
|
|
60
|
+
return o;
|
|
61
|
+
}
|
|
62
|
+
function addMor(m) {
|
|
63
|
+
const existing = morphisms.get(m.id);
|
|
64
|
+
if (existing)
|
|
65
|
+
return existing;
|
|
66
|
+
morphisms.set(m.id, m);
|
|
67
|
+
return m;
|
|
68
|
+
}
|
|
69
|
+
// identidades
|
|
70
|
+
for (const o of objs) {
|
|
71
|
+
const fn = new Map();
|
|
72
|
+
for (const x of o.elements)
|
|
73
|
+
fn.set(x, x);
|
|
74
|
+
addMor({ id: `${o.name}→${o.name}:id`, src: o.name, tgt: o.name, fn });
|
|
75
|
+
}
|
|
76
|
+
for (const g of generators)
|
|
77
|
+
addMor(g);
|
|
78
|
+
// composición concreta (no necesita la categoría)
|
|
79
|
+
function rawCompose(g, f) {
|
|
80
|
+
if (f.tgt !== g.src) {
|
|
81
|
+
throw new Error(`FinSet compose: dom mismatch ${f.id} ; ${g.id}`);
|
|
82
|
+
}
|
|
83
|
+
const src = getObj(f.src);
|
|
84
|
+
const tgt = getObj(g.tgt);
|
|
85
|
+
const fn = new Map();
|
|
86
|
+
for (const x of src.elements) {
|
|
87
|
+
const fx = f.fn.get(x);
|
|
88
|
+
const gfx = g.fn.get(fx);
|
|
89
|
+
fn.set(x, gfx);
|
|
90
|
+
}
|
|
91
|
+
// El nombre canónico de la composición es g∘f. Si ese morfismo
|
|
92
|
+
// ya está registrado con otro nombre y misma tabla, lo reusamos
|
|
93
|
+
// para que la igualdad sea robusta.
|
|
94
|
+
const candidate = {
|
|
95
|
+
id: `${src.name}→${tgt.name}:${g.id.split(':').pop()}∘${f.id.split(':').pop()}`,
|
|
96
|
+
src: src.name,
|
|
97
|
+
tgt: tgt.name,
|
|
98
|
+
fn,
|
|
99
|
+
};
|
|
100
|
+
// ¿Ya existe un morfismo con misma tabla? -> reutilizar id
|
|
101
|
+
for (const existing of morphisms.values()) {
|
|
102
|
+
if (existing.src === candidate.src &&
|
|
103
|
+
existing.tgt === candidate.tgt &&
|
|
104
|
+
tablesEqual(existing.fn, fn)) {
|
|
105
|
+
return existing;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
morphisms.set(candidate.id, candidate);
|
|
109
|
+
return candidate;
|
|
110
|
+
}
|
|
111
|
+
// Cierre por composición acotado
|
|
112
|
+
for (let step = 0; step < maxClosureSteps; step++) {
|
|
113
|
+
const snapshot = Array.from(morphisms.values());
|
|
114
|
+
let added = false;
|
|
115
|
+
for (const f of snapshot) {
|
|
116
|
+
for (const g of snapshot) {
|
|
117
|
+
if (f.tgt !== g.src)
|
|
118
|
+
continue;
|
|
119
|
+
const before = morphisms.size;
|
|
120
|
+
rawCompose(g, f);
|
|
121
|
+
if (morphisms.size > before)
|
|
122
|
+
added = true;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (!added)
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
function identity(obj) {
|
|
129
|
+
return morphisms.get(`${obj.name}→${obj.name}:id`);
|
|
130
|
+
}
|
|
131
|
+
function compose(g, f) {
|
|
132
|
+
return rawCompose(g, f);
|
|
133
|
+
}
|
|
134
|
+
function source(m) {
|
|
135
|
+
return getObj(m.src);
|
|
136
|
+
}
|
|
137
|
+
function target(m) {
|
|
138
|
+
return getObj(m.tgt);
|
|
139
|
+
}
|
|
140
|
+
function eqMor(a, b) {
|
|
141
|
+
if (a.src !== b.src || a.tgt !== b.tgt)
|
|
142
|
+
return false;
|
|
143
|
+
return tablesEqual(a.fn, b.fn);
|
|
144
|
+
}
|
|
145
|
+
function eqObj(a, b) {
|
|
146
|
+
return a.name === b.name;
|
|
147
|
+
}
|
|
148
|
+
function hom(a, b) {
|
|
149
|
+
const out = [];
|
|
150
|
+
for (const m of morphisms.values()) {
|
|
151
|
+
if (m.src === a.name && m.tgt === b.name)
|
|
152
|
+
out.push(m);
|
|
153
|
+
}
|
|
154
|
+
return out;
|
|
155
|
+
}
|
|
156
|
+
function verifyAssociativity(sample = 50) {
|
|
157
|
+
const ms = Array.from(morphisms.values());
|
|
158
|
+
let checked = 0;
|
|
159
|
+
for (const f of ms) {
|
|
160
|
+
for (const g of ms) {
|
|
161
|
+
if (g.src !== f.tgt)
|
|
162
|
+
continue;
|
|
163
|
+
for (const h of ms) {
|
|
164
|
+
if (h.src !== g.tgt)
|
|
165
|
+
continue;
|
|
166
|
+
// (h∘g)∘f === h∘(g∘f)
|
|
167
|
+
const left = compose(compose(h, g), f);
|
|
168
|
+
const right = compose(h, compose(g, f));
|
|
169
|
+
if (!eqMor(left, right))
|
|
170
|
+
return false;
|
|
171
|
+
if (++checked >= sample)
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return true;
|
|
177
|
+
}
|
|
178
|
+
function verifyIdentity(sample = 50) {
|
|
179
|
+
const ms = Array.from(morphisms.values());
|
|
180
|
+
let checked = 0;
|
|
181
|
+
for (const f of ms) {
|
|
182
|
+
const idSrc = identity(getObj(f.src));
|
|
183
|
+
const idTgt = identity(getObj(f.tgt));
|
|
184
|
+
if (!eqMor(compose(f, idSrc), f))
|
|
185
|
+
return false;
|
|
186
|
+
if (!eqMor(compose(idTgt, f), f))
|
|
187
|
+
return false;
|
|
188
|
+
if (++checked >= sample)
|
|
189
|
+
return true;
|
|
190
|
+
}
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
name: 'FinSet',
|
|
195
|
+
objects: objectsSet,
|
|
196
|
+
morphisms,
|
|
197
|
+
identity,
|
|
198
|
+
compose,
|
|
199
|
+
source,
|
|
200
|
+
target,
|
|
201
|
+
eqMor,
|
|
202
|
+
eqObj,
|
|
203
|
+
hom,
|
|
204
|
+
verifyAssociativity,
|
|
205
|
+
verifyIdentity,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function tablesEqual(a, b) {
|
|
209
|
+
if (a.size !== b.size)
|
|
210
|
+
return false;
|
|
211
|
+
for (const [k, v] of a) {
|
|
212
|
+
if (b.get(k) !== v)
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
return true;
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=fin-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fin-set.js","sourceRoot":"","sources":["../../src/categorical/fin-set.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,0BAA0B;AAC1B,+DAA+D;AAC/D,6DAA6D;AAC7D,gEAAgE;AAChE,+DAA+D;AAC/D,qDAAqD;AACrD,+DAA+D;;AA+B/D,kCA4BC;AAYD,wBAgKC;AA9MD;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,IAAY,EACZ,GAAc,EACd,GAAc,EACd,KAA2D;IAE3D,MAAM,EAAE,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,QAAQ,GACZ,KAAK,YAAY,GAAG;QAClB,CAAC,CAAE,KAAqC;QACxC,CAAC,CAAC,IAAI,GAAG,CAAiB,MAAM,CAAC,OAAO,CAAC,KAA+B,CAAC,CAAC,CAAC;IAC/E,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,WAAW,CAAC,OAAO,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,CAAC;IACD,OAAO;QACL,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;QACrC,GAAG,EAAE,GAAG,CAAC,IAAI;QACb,GAAG,EAAE,GAAG,CAAC,IAAI;QACb,EAAE;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,MAAM,CACpB,IAA8B,EAC9B,aAAuC,EAAE,EACzC,eAAe,GAAG,CAAC;IAEnB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAoB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAY,IAAI,CAAC,CAAC;IAE5C,SAAS,MAAM,CAAC,IAAY;QAC1B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,SAAS,MAAM,CAAC,CAAY;QAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,cAAc;IACd,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;YAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,UAAU;QAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtC,kDAAkD;IAClD,SAAS,UAAU,CAAC,CAAY,EAAE,CAAY;QAC5C,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YACxB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YAC1B,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,+DAA+D;QAC/D,gEAAgE;QAChE,oCAAoC;QACpC,MAAM,SAAS,GAAc;YAC3B,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/E,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,EAAE;SACH,CAAC;QACF,2DAA2D;QAC3D,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,IACE,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG;gBAC9B,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG;gBAC9B,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAC5B,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iCAAiC;IACjC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;oBAAE,SAAS;gBAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;gBAC9B,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjB,IAAI,SAAS,CAAC,IAAI,GAAG,MAAM;oBAAE,KAAK,GAAG,IAAI,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,MAAM;IACpB,CAAC;IAED,SAAS,QAAQ,CAAC,GAAc;QAC9B,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,CAAE,CAAC;IACtD,CAAC;IAED,SAAS,OAAO,CAAC,CAAY,EAAE,CAAY;QACzC,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,MAAM,CAAC,CAAY;QAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,SAAS,MAAM,CAAC,CAAY;QAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,SAAS,KAAK,CAAC,CAAY,EAAE,CAAY;QACvC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACrD,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,KAAK,CAAC,CAAY,EAAE,CAAY;QACvC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,SAAS,GAAG,CAAC,CAAY,EAAE,CAAY;QACrC,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,mBAAmB,CAAC,MAAM,GAAG,EAAE;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;oBAAE,SAAS;gBAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;wBAAE,SAAS;oBAC9B,sBAAsB;oBACtB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;wBAAE,OAAO,KAAK,CAAC;oBACtC,IAAI,EAAE,OAAO,IAAI,MAAM;wBAAE,OAAO,IAAI,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,cAAc,CAAC,MAAM,GAAG,EAAE;QACjC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/C,IAAI,EAAE,OAAO,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,UAAU;QACnB,SAAS;QACT,QAAQ;QACR,OAAO;QACP,MAAM;QACN,MAAM;QACN,KAAK;QACL,KAAK;QACL,GAAG;QACH,mBAAmB;QACnB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,CAA8B,EAAE,CAA8B;IACjF,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Category, MorId } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Morfismo de la categoría libre = path. Representamos un path
|
|
4
|
+
* como la lista de nombres de aristas (o vacío para la identidad)
|
|
5
|
+
* junto con su origen y destino.
|
|
6
|
+
*/
|
|
7
|
+
export interface FreeMor {
|
|
8
|
+
readonly id: MorId;
|
|
9
|
+
readonly src: string;
|
|
10
|
+
readonly tgt: string;
|
|
11
|
+
readonly path: ReadonlyArray<string>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Construye la categoría libre. `generators` es una lista de tripletas
|
|
15
|
+
* `[from, to, name]` donde `name` debe ser único globalmente.
|
|
16
|
+
*
|
|
17
|
+
* `maxLength` acota la longitud máxima de paths considerados al
|
|
18
|
+
* "materializar" la categoría como `Map<MorId, FreeMor>`. Esto es
|
|
19
|
+
* inevitable: la categoría libre sobre un grafo con ciclos es
|
|
20
|
+
* infinita. Para tests usamos `maxLength=3`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function Free(vertices: ReadonlyArray<string>, generators: ReadonlyArray<readonly [string, string, string]>, maxLength?: number): Category<string, FreeMor>;
|
|
23
|
+
//# sourceMappingURL=free.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free.d.ts","sourceRoot":"","sources":["../../src/categorical/free.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAClB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAC/B,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAC5D,SAAS,SAAI,GACZ,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAsI3B"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// ST Categorical — Categoría libre sobre un grafo
|
|
4
|
+
// ============================================================
|
|
5
|
+
// Dado un grafo dirigido (vertices + aristas con nombres),
|
|
6
|
+
// construye la categoría libre cuyos morfismos son paths
|
|
7
|
+
// (cadenas de aristas componibles), módulo la equivalencia
|
|
8
|
+
// asociativa con la identidad como path vacío.
|
|
9
|
+
// ============================================================
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.Free = Free;
|
|
12
|
+
/**
|
|
13
|
+
* Construye la categoría libre. `generators` es una lista de tripletas
|
|
14
|
+
* `[from, to, name]` donde `name` debe ser único globalmente.
|
|
15
|
+
*
|
|
16
|
+
* `maxLength` acota la longitud máxima de paths considerados al
|
|
17
|
+
* "materializar" la categoría como `Map<MorId, FreeMor>`. Esto es
|
|
18
|
+
* inevitable: la categoría libre sobre un grafo con ciclos es
|
|
19
|
+
* infinita. Para tests usamos `maxLength=3`.
|
|
20
|
+
*/
|
|
21
|
+
function Free(vertices, generators, maxLength = 3) {
|
|
22
|
+
const edgesByName = new Map();
|
|
23
|
+
const edgesByFrom = new Map();
|
|
24
|
+
for (const v of vertices)
|
|
25
|
+
edgesByFrom.set(v, []);
|
|
26
|
+
for (const [from, to, name] of generators) {
|
|
27
|
+
if (edgesByName.has(name))
|
|
28
|
+
throw new Error(`Free: duplicate edge name ${name}`);
|
|
29
|
+
edgesByName.set(name, { from, to });
|
|
30
|
+
if (!edgesByFrom.has(from))
|
|
31
|
+
edgesByFrom.set(from, []);
|
|
32
|
+
edgesByFrom.get(from).push({ name, to });
|
|
33
|
+
}
|
|
34
|
+
const morphisms = new Map();
|
|
35
|
+
const objectsSet = new Set(vertices);
|
|
36
|
+
function pathId(src, tgt, path) {
|
|
37
|
+
return `${src}→${tgt}:[${path.join(',')}]`;
|
|
38
|
+
}
|
|
39
|
+
// Identidades
|
|
40
|
+
for (const v of vertices) {
|
|
41
|
+
const id = pathId(v, v, []);
|
|
42
|
+
morphisms.set(id, { id, src: v, tgt: v, path: [] });
|
|
43
|
+
}
|
|
44
|
+
// Generadores
|
|
45
|
+
for (const [from, to, name] of generators) {
|
|
46
|
+
const id = pathId(from, to, [name]);
|
|
47
|
+
morphisms.set(id, { id, src: from, tgt: to, path: [name] });
|
|
48
|
+
}
|
|
49
|
+
// Composiciones acotadas (paths hasta maxLength)
|
|
50
|
+
function enumerate(from, length) {
|
|
51
|
+
if (length === 0)
|
|
52
|
+
return [{ to: from, path: [] }];
|
|
53
|
+
const out = [];
|
|
54
|
+
for (const { name, to } of edgesByFrom.get(from) ?? []) {
|
|
55
|
+
for (const rest of enumerate(to, length - 1)) {
|
|
56
|
+
out.push({ to: rest.to, path: [name, ...rest.path] });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return out;
|
|
60
|
+
}
|
|
61
|
+
for (const v of vertices) {
|
|
62
|
+
for (let len = 2; len <= maxLength; len++) {
|
|
63
|
+
for (const { to, path } of enumerate(v, len)) {
|
|
64
|
+
const id = pathId(v, to, path);
|
|
65
|
+
if (!morphisms.has(id)) {
|
|
66
|
+
morphisms.set(id, { id, src: v, tgt: to, path });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function identity(obj) {
|
|
72
|
+
return morphisms.get(pathId(obj, obj, []));
|
|
73
|
+
}
|
|
74
|
+
function compose(g, f) {
|
|
75
|
+
if (f.tgt !== g.src) {
|
|
76
|
+
throw new Error(`Free compose: dom mismatch ${f.id} ; ${g.id}`);
|
|
77
|
+
}
|
|
78
|
+
const path = [...f.path, ...g.path];
|
|
79
|
+
const id = pathId(f.src, g.tgt, path);
|
|
80
|
+
const cached = morphisms.get(id);
|
|
81
|
+
if (cached)
|
|
82
|
+
return cached;
|
|
83
|
+
// Si excede maxLength, lo registramos on-demand para que la
|
|
84
|
+
// categoría se comporte cerrada bajo composición; el cliente
|
|
85
|
+
// que pase tests pesados puede subir maxLength.
|
|
86
|
+
const m = { id, src: f.src, tgt: g.tgt, path };
|
|
87
|
+
morphisms.set(id, m);
|
|
88
|
+
return m;
|
|
89
|
+
}
|
|
90
|
+
function source(m) {
|
|
91
|
+
return m.src;
|
|
92
|
+
}
|
|
93
|
+
function target(m) {
|
|
94
|
+
return m.tgt;
|
|
95
|
+
}
|
|
96
|
+
function eqMor(a, b) {
|
|
97
|
+
if (a.src !== b.src || a.tgt !== b.tgt)
|
|
98
|
+
return false;
|
|
99
|
+
if (a.path.length !== b.path.length)
|
|
100
|
+
return false;
|
|
101
|
+
for (let i = 0; i < a.path.length; i++)
|
|
102
|
+
if (a.path[i] !== b.path[i])
|
|
103
|
+
return false;
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
function eqObj(a, b) {
|
|
107
|
+
return a === b;
|
|
108
|
+
}
|
|
109
|
+
function hom(a, b) {
|
|
110
|
+
const out = [];
|
|
111
|
+
for (const m of morphisms.values()) {
|
|
112
|
+
if (m.src === a && m.tgt === b)
|
|
113
|
+
out.push(m);
|
|
114
|
+
}
|
|
115
|
+
return out;
|
|
116
|
+
}
|
|
117
|
+
function verifyAssociativity(sample = 50) {
|
|
118
|
+
const ms = Array.from(morphisms.values());
|
|
119
|
+
let checked = 0;
|
|
120
|
+
for (const f of ms) {
|
|
121
|
+
for (const g of ms) {
|
|
122
|
+
if (g.src !== f.tgt)
|
|
123
|
+
continue;
|
|
124
|
+
for (const h of ms) {
|
|
125
|
+
if (h.src !== g.tgt)
|
|
126
|
+
continue;
|
|
127
|
+
const left = compose(compose(h, g), f);
|
|
128
|
+
const right = compose(h, compose(g, f));
|
|
129
|
+
if (!eqMor(left, right))
|
|
130
|
+
return false;
|
|
131
|
+
if (++checked >= sample)
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
function verifyIdentity(sample = 50) {
|
|
139
|
+
const ms = Array.from(morphisms.values());
|
|
140
|
+
let checked = 0;
|
|
141
|
+
for (const f of ms) {
|
|
142
|
+
const idSrc = identity(f.src);
|
|
143
|
+
const idTgt = identity(f.tgt);
|
|
144
|
+
if (!eqMor(compose(f, idSrc), f))
|
|
145
|
+
return false;
|
|
146
|
+
if (!eqMor(compose(idTgt, f), f))
|
|
147
|
+
return false;
|
|
148
|
+
if (++checked >= sample)
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
name: 'Free',
|
|
155
|
+
objects: objectsSet,
|
|
156
|
+
morphisms,
|
|
157
|
+
identity,
|
|
158
|
+
compose,
|
|
159
|
+
source,
|
|
160
|
+
target,
|
|
161
|
+
eqMor,
|
|
162
|
+
eqObj,
|
|
163
|
+
hom,
|
|
164
|
+
verifyAssociativity,
|
|
165
|
+
verifyIdentity,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=free.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free.js","sourceRoot":"","sources":["../../src/categorical/free.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Category, Functor, NaturalTransformation } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Crea un functor verificable. El cliente pasa los mapeos a
|
|
4
|
+
* objetos/morfismos; las verificaciones de leyes se derivan
|
|
5
|
+
* recorriendo los `morphisms` de la categoría fuente.
|
|
6
|
+
*/
|
|
7
|
+
export declare function mkFunctor<O1, M1, O2, M2>(opts: {
|
|
8
|
+
name: string;
|
|
9
|
+
source: Category<O1, M1>;
|
|
10
|
+
target: Category<O2, M2>;
|
|
11
|
+
onObjects: (o: O1) => O2;
|
|
12
|
+
onMorphisms: (m: M1) => M2;
|
|
13
|
+
}): Functor<O1, M1, O2, M2>;
|
|
14
|
+
/**
|
|
15
|
+
* Functor identidad `Id_C : C → C`. Útil para tests y como elemento
|
|
16
|
+
* neutro de la composición de functores.
|
|
17
|
+
*/
|
|
18
|
+
export declare function identityFunctor<O, M>(cat: Category<O, M>): Functor<O, M, O, M>;
|
|
19
|
+
/**
|
|
20
|
+
* Composición de functores F ; G = G ∘ F. La firma respeta la
|
|
21
|
+
* categoría source/target original sin perder información de tipos.
|
|
22
|
+
*/
|
|
23
|
+
export declare function composeFunctors<O1, M1, O2, M2, O3, M3>(G: Functor<O2, M2, O3, M3>, F: Functor<O1, M1, O2, M2>): Functor<O1, M1, O3, M3>;
|
|
24
|
+
/**
|
|
25
|
+
* Crea una transformación natural η : F ⇒ G verificando su
|
|
26
|
+
* naturalidad por muestreo. El cliente pasa la familia de
|
|
27
|
+
* componentes `component(a) : F(a) → G(a)`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function mkNaturalTransformation<O1, M1, O2, M2>(opts: {
|
|
30
|
+
name: string;
|
|
31
|
+
source: Functor<O1, M1, O2, M2>;
|
|
32
|
+
target: Functor<O1, M1, O2, M2>;
|
|
33
|
+
component: (o: O1) => M2;
|
|
34
|
+
}): NaturalTransformation<O1, M1, O2, M2>;
|
|
35
|
+
/**
|
|
36
|
+
* Transformación natural identidad `id_F : F ⇒ F` con componentes
|
|
37
|
+
* `id_{F(a)}`. Sirve como elemento neutro de composición vertical.
|
|
38
|
+
*/
|
|
39
|
+
export declare function identityNT<O1, M1, O2, M2>(F: Functor<O1, M1, O2, M2>): NaturalTransformation<O1, M1, O2, M2>;
|
|
40
|
+
//# sourceMappingURL=functor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functor.d.ts","sourceRoot":"","sources":["../../src/categorical/functor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAExE;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACzB,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;CAC5B,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAwC1B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAQ9E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACpD,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC1B,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACzB,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAazB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;CAC1B,GAAG,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CA4BxC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACvC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACzB,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAOvC"}
|