@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.
Files changed (465) hide show
  1. package/dist/bdd/index.d.ts +4 -0
  2. package/dist/bdd/index.d.ts.map +1 -0
  3. package/dist/bdd/index.js +29 -0
  4. package/dist/bdd/index.js.map +1 -0
  5. package/dist/bdd/manager.d.ts +122 -0
  6. package/dist/bdd/manager.d.ts.map +1 -0
  7. package/dist/bdd/manager.js +524 -0
  8. package/dist/bdd/manager.js.map +1 -0
  9. package/dist/bdd/types.d.ts +20 -0
  10. package/dist/bdd/types.d.ts.map +1 -0
  11. package/dist/bdd/types.js +28 -0
  12. package/dist/bdd/types.js.map +1 -0
  13. package/dist/categorical/fin-set.d.ts +39 -0
  14. package/dist/categorical/fin-set.d.ts.map +1 -0
  15. package/dist/categorical/fin-set.js +217 -0
  16. package/dist/categorical/fin-set.js.map +1 -0
  17. package/dist/categorical/free.d.ts +23 -0
  18. package/dist/categorical/free.d.ts.map +1 -0
  19. package/dist/categorical/free.js +168 -0
  20. package/dist/categorical/free.js.map +1 -0
  21. package/dist/categorical/functor.d.ts +40 -0
  22. package/dist/categorical/functor.d.ts.map +1 -0
  23. package/dist/categorical/functor.js +139 -0
  24. package/dist/categorical/functor.js.map +1 -0
  25. package/dist/categorical/index.d.ts +11 -0
  26. package/dist/categorical/index.d.ts.map +1 -0
  27. package/dist/categorical/index.js +33 -0
  28. package/dist/categorical/index.js.map +1 -0
  29. package/dist/categorical/limits.d.ts +64 -0
  30. package/dist/categorical/limits.d.ts.map +1 -0
  31. package/dist/categorical/limits.js +248 -0
  32. package/dist/categorical/limits.js.map +1 -0
  33. package/dist/categorical/monoidal.d.ts +14 -0
  34. package/dist/categorical/monoidal.d.ts.map +1 -0
  35. package/dist/categorical/monoidal.js +148 -0
  36. package/dist/categorical/monoidal.js.map +1 -0
  37. package/dist/categorical/poset.d.ts +14 -0
  38. package/dist/categorical/poset.d.ts.map +1 -0
  39. package/dist/categorical/poset.js +115 -0
  40. package/dist/categorical/poset.js.map +1 -0
  41. package/dist/categorical/types.d.ts +111 -0
  42. package/dist/categorical/types.d.ts.map +1 -0
  43. package/dist/categorical/types.js +15 -0
  44. package/dist/categorical/types.js.map +1 -0
  45. package/dist/csp-hoare/analysis.d.ts +51 -0
  46. package/dist/csp-hoare/analysis.d.ts.map +1 -0
  47. package/dist/csp-hoare/analysis.js +317 -0
  48. package/dist/csp-hoare/analysis.js.map +1 -0
  49. package/dist/csp-hoare/examples.d.ts +33 -0
  50. package/dist/csp-hoare/examples.d.ts.map +1 -0
  51. package/dist/csp-hoare/examples.js +108 -0
  52. package/dist/csp-hoare/examples.js.map +1 -0
  53. package/dist/csp-hoare/index.d.ts +6 -0
  54. package/dist/csp-hoare/index.d.ts.map +1 -0
  55. package/dist/csp-hoare/index.js +50 -0
  56. package/dist/csp-hoare/index.js.map +1 -0
  57. package/dist/csp-hoare/semantics.d.ts +49 -0
  58. package/dist/csp-hoare/semantics.d.ts.map +1 -0
  59. package/dist/csp-hoare/semantics.js +494 -0
  60. package/dist/csp-hoare/semantics.js.map +1 -0
  61. package/dist/csp-hoare/types.d.ts +60 -0
  62. package/dist/csp-hoare/types.d.ts.map +1 -0
  63. package/dist/csp-hoare/types.js +31 -0
  64. package/dist/csp-hoare/types.js.map +1 -0
  65. package/dist/game-theory/common-games.d.ts +50 -0
  66. package/dist/game-theory/common-games.d.ts.map +1 -0
  67. package/dist/game-theory/common-games.js +112 -0
  68. package/dist/game-theory/common-games.js.map +1 -0
  69. package/dist/game-theory/dominance.d.ts +26 -0
  70. package/dist/game-theory/dominance.d.ts.map +1 -0
  71. package/dist/game-theory/dominance.js +203 -0
  72. package/dist/game-theory/dominance.js.map +1 -0
  73. package/dist/game-theory/index.d.ts +8 -0
  74. package/dist/game-theory/index.d.ts.map +1 -0
  75. package/dist/game-theory/index.js +47 -0
  76. package/dist/game-theory/index.js.map +1 -0
  77. package/dist/game-theory/lemke-howson.d.ts +3 -0
  78. package/dist/game-theory/lemke-howson.d.ts.map +1 -0
  79. package/dist/game-theory/lemke-howson.js +269 -0
  80. package/dist/game-theory/lemke-howson.js.map +1 -0
  81. package/dist/game-theory/linalg.d.ts +7 -0
  82. package/dist/game-theory/linalg.d.ts.map +1 -0
  83. package/dist/game-theory/linalg.js +69 -0
  84. package/dist/game-theory/linalg.js.map +1 -0
  85. package/dist/game-theory/pure-nash.d.ts +3 -0
  86. package/dist/game-theory/pure-nash.d.ts.map +1 -0
  87. package/dist/game-theory/pure-nash.js +86 -0
  88. package/dist/game-theory/pure-nash.js.map +1 -0
  89. package/dist/game-theory/support-enumeration.d.ts +3 -0
  90. package/dist/game-theory/support-enumeration.d.ts.map +1 -0
  91. package/dist/game-theory/support-enumeration.js +214 -0
  92. package/dist/game-theory/support-enumeration.js.map +1 -0
  93. package/dist/game-theory/types.d.ts +57 -0
  94. package/dist/game-theory/types.d.ts.map +1 -0
  95. package/dist/game-theory/types.js +191 -0
  96. package/dist/game-theory/types.js.map +1 -0
  97. package/dist/hindley-milner/index.d.ts +7 -0
  98. package/dist/hindley-milner/index.d.ts.map +1 -0
  99. package/dist/hindley-milner/index.js +60 -0
  100. package/dist/hindley-milner/index.js.map +1 -0
  101. package/dist/hindley-milner/infer.d.ts +26 -0
  102. package/dist/hindley-milner/infer.d.ts.map +1 -0
  103. package/dist/hindley-milner/infer.js +278 -0
  104. package/dist/hindley-milner/infer.js.map +1 -0
  105. package/dist/hindley-milner/substitution.d.ts +21 -0
  106. package/dist/hindley-milner/substitution.d.ts.map +1 -0
  107. package/dist/hindley-milner/substitution.js +215 -0
  108. package/dist/hindley-milner/substitution.js.map +1 -0
  109. package/dist/hindley-milner/types.d.ts +84 -0
  110. package/dist/hindley-milner/types.d.ts.map +1 -0
  111. package/dist/hindley-milner/types.js +166 -0
  112. package/dist/hindley-milner/types.js.map +1 -0
  113. package/dist/hott/equality.d.ts +4 -0
  114. package/dist/hott/equality.d.ts.map +1 -0
  115. package/dist/hott/equality.js +108 -0
  116. package/dist/hott/equality.js.map +1 -0
  117. package/dist/hott/index.d.ts +13 -0
  118. package/dist/hott/index.d.ts.map +1 -0
  119. package/dist/hott/index.js +77 -0
  120. package/dist/hott/index.js.map +1 -0
  121. package/dist/hott/infer.d.ts +11 -0
  122. package/dist/hott/infer.d.ts.map +1 -0
  123. package/dist/hott/infer.js +465 -0
  124. package/dist/hott/infer.js.map +1 -0
  125. package/dist/hott/normalize.d.ts +5 -0
  126. package/dist/hott/normalize.d.ts.map +1 -0
  127. package/dist/hott/normalize.js +240 -0
  128. package/dist/hott/normalize.js.map +1 -0
  129. package/dist/hott/path-algebra.d.ts +25 -0
  130. package/dist/hott/path-algebra.d.ts.map +1 -0
  131. package/dist/hott/path-algebra.js +67 -0
  132. package/dist/hott/path-algebra.js.map +1 -0
  133. package/dist/hott/substitute.d.ts +3 -0
  134. package/dist/hott/substitute.d.ts.map +1 -0
  135. package/dist/hott/substitute.js +131 -0
  136. package/dist/hott/substitute.js.map +1 -0
  137. package/dist/hott/types.d.ts +126 -0
  138. package/dist/hott/types.d.ts.map +1 -0
  139. package/dist/hott/types.js +346 -0
  140. package/dist/hott/types.js.map +1 -0
  141. package/dist/index.d.ts +16 -1
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +83 -3
  144. package/dist/index.js.map +1 -1
  145. package/dist/information-theory/index.d.ts +29 -0
  146. package/dist/information-theory/index.d.ts.map +1 -0
  147. package/dist/information-theory/index.js +323 -0
  148. package/dist/information-theory/index.js.map +1 -0
  149. package/dist/lemma-synthesis/index.d.ts +124 -0
  150. package/dist/lemma-synthesis/index.d.ts.map +1 -0
  151. package/dist/lemma-synthesis/index.js +640 -0
  152. package/dist/lemma-synthesis/index.js.map +1 -0
  153. package/dist/namespaces/logic.d.ts +42 -0
  154. package/dist/namespaces/logic.d.ts.map +1 -0
  155. package/dist/namespaces/logic.js +112 -0
  156. package/dist/namespaces/logic.js.map +1 -0
  157. package/dist/namespaces/proof-systems.d.ts +18 -0
  158. package/dist/namespaces/proof-systems.d.ts.map +1 -0
  159. package/dist/namespaces/proof-systems.js +59 -0
  160. package/dist/namespaces/proof-systems.js.map +1 -0
  161. package/dist/namespaces/reasoning.d.ts +26 -0
  162. package/dist/namespaces/reasoning.d.ts.map +1 -0
  163. package/dist/namespaces/reasoning.js +72 -0
  164. package/dist/namespaces/reasoning.js.map +1 -0
  165. package/dist/namespaces/semantics.d.ts +21 -0
  166. package/dist/namespaces/semantics.d.ts.map +1 -0
  167. package/dist/namespaces/semantics.js +64 -0
  168. package/dist/namespaces/semantics.js.map +1 -0
  169. package/dist/namespaces/solvers.d.ts +22 -0
  170. package/dist/namespaces/solvers.d.ts.map +1 -0
  171. package/dist/namespaces/solvers.js +66 -0
  172. package/dist/namespaces/solvers.js.map +1 -0
  173. package/dist/namespaces/type-theory.d.ts +22 -0
  174. package/dist/namespaces/type-theory.d.ts.map +1 -0
  175. package/dist/namespaces/type-theory.js +65 -0
  176. package/dist/namespaces/type-theory.js.map +1 -0
  177. package/dist/optimization/branch-and-bound.d.ts +11 -0
  178. package/dist/optimization/branch-and-bound.d.ts.map +1 -0
  179. package/dist/optimization/branch-and-bound.js +311 -0
  180. package/dist/optimization/branch-and-bound.js.map +1 -0
  181. package/dist/optimization/index.d.ts +5 -0
  182. package/dist/optimization/index.d.ts.map +1 -0
  183. package/dist/optimization/index.js +20 -0
  184. package/dist/optimization/index.js.map +1 -0
  185. package/dist/optimization/simplex.d.ts +8 -0
  186. package/dist/optimization/simplex.d.ts.map +1 -0
  187. package/dist/optimization/simplex.js +408 -0
  188. package/dist/optimization/simplex.js.map +1 -0
  189. package/dist/optimization/standard-form.d.ts +11 -0
  190. package/dist/optimization/standard-form.d.ts.map +1 -0
  191. package/dist/optimization/standard-form.js +112 -0
  192. package/dist/optimization/standard-form.js.map +1 -0
  193. package/dist/optimization/types.d.ts +44 -0
  194. package/dist/optimization/types.d.ts.map +1 -0
  195. package/dist/optimization/types.js +15 -0
  196. package/dist/optimization/types.js.map +1 -0
  197. package/dist/profiles/hol/connectives.d.ts +46 -0
  198. package/dist/profiles/hol/connectives.d.ts.map +1 -0
  199. package/dist/profiles/hol/connectives.js +104 -0
  200. package/dist/profiles/hol/connectives.js.map +1 -0
  201. package/dist/profiles/hol/index.d.ts +7 -0
  202. package/dist/profiles/hol/index.d.ts.map +1 -0
  203. package/dist/profiles/hol/index.js +77 -0
  204. package/dist/profiles/hol/index.js.map +1 -0
  205. package/dist/profiles/hol/rules.d.ts +31 -0
  206. package/dist/profiles/hol/rules.d.ts.map +1 -0
  207. package/dist/profiles/hol/rules.js +258 -0
  208. package/dist/profiles/hol/rules.js.map +1 -0
  209. package/dist/profiles/hol/term.d.ts +52 -0
  210. package/dist/profiles/hol/term.d.ts.map +1 -0
  211. package/dist/profiles/hol/term.js +345 -0
  212. package/dist/profiles/hol/term.js.map +1 -0
  213. package/dist/profiles/hol/type-system.d.ts +38 -0
  214. package/dist/profiles/hol/type-system.d.ts.map +1 -0
  215. package/dist/profiles/hol/type-system.js +133 -0
  216. package/dist/profiles/hol/type-system.js.map +1 -0
  217. package/dist/profiles/hol/types.d.ts +59 -0
  218. package/dist/profiles/hol/types.d.ts.map +1 -0
  219. package/dist/profiles/hol/types.js +26 -0
  220. package/dist/profiles/hol/types.js.map +1 -0
  221. package/dist/smt-lib/ast.d.ts +138 -0
  222. package/dist/smt-lib/ast.d.ts.map +1 -0
  223. package/dist/smt-lib/ast.js +73 -0
  224. package/dist/smt-lib/ast.js.map +1 -0
  225. package/dist/smt-lib/emitter.d.ts +12 -0
  226. package/dist/smt-lib/emitter.d.ts.map +1 -0
  227. package/dist/smt-lib/emitter.js +174 -0
  228. package/dist/smt-lib/emitter.js.map +1 -0
  229. package/dist/smt-lib/index.d.ts +6 -0
  230. package/dist/smt-lib/index.d.ts.map +1 -0
  231. package/dist/smt-lib/index.js +31 -0
  232. package/dist/smt-lib/index.js.map +1 -0
  233. package/dist/smt-lib/parser.d.ts +13 -0
  234. package/dist/smt-lib/parser.d.ts.map +1 -0
  235. package/dist/smt-lib/parser.js +614 -0
  236. package/dist/smt-lib/parser.js.map +1 -0
  237. package/dist/smt-lib/tokenizer.d.ts +16 -0
  238. package/dist/smt-lib/tokenizer.d.ts.map +1 -0
  239. package/dist/smt-lib/tokenizer.js +234 -0
  240. package/dist/smt-lib/tokenizer.js.map +1 -0
  241. package/dist/tactic-dsl/combinators.d.ts +6 -0
  242. package/dist/tactic-dsl/combinators.d.ts.map +1 -0
  243. package/dist/tactic-dsl/combinators.js +98 -0
  244. package/dist/tactic-dsl/combinators.js.map +1 -0
  245. package/dist/tactic-dsl/index.d.ts +39 -0
  246. package/dist/tactic-dsl/index.d.ts.map +1 -0
  247. package/dist/tactic-dsl/index.js +162 -0
  248. package/dist/tactic-dsl/index.js.map +1 -0
  249. package/dist/tactic-dsl/tactics.d.ts +21 -0
  250. package/dist/tactic-dsl/tactics.d.ts.map +1 -0
  251. package/dist/tactic-dsl/tactics.js +536 -0
  252. package/dist/tactic-dsl/tactics.js.map +1 -0
  253. package/dist/tactic-dsl/types.d.ts +54 -0
  254. package/dist/tactic-dsl/types.d.ts.map +1 -0
  255. package/dist/tactic-dsl/types.js +226 -0
  256. package/dist/tactic-dsl/types.js.map +1 -0
  257. package/dist/tests/api/namespaces.test.d.ts +9 -0
  258. package/dist/tests/api/namespaces.test.d.ts.map +1 -0
  259. package/dist/tests/api/namespaces.test.js +218 -0
  260. package/dist/tests/api/namespaces.test.js.map +1 -0
  261. package/dist/tests/bdd/manager.test.d.ts +2 -0
  262. package/dist/tests/bdd/manager.test.d.ts.map +1 -0
  263. package/dist/tests/bdd/manager.test.js +472 -0
  264. package/dist/tests/bdd/manager.test.js.map +1 -0
  265. package/dist/tests/categorical/categorical.test.d.ts +2 -0
  266. package/dist/tests/categorical/categorical.test.d.ts.map +1 -0
  267. package/dist/tests/categorical/categorical.test.js +300 -0
  268. package/dist/tests/categorical/categorical.test.js.map +1 -0
  269. package/dist/tests/csp-hoare/csp-hoare.test.d.ts +2 -0
  270. package/dist/tests/csp-hoare/csp-hoare.test.d.ts.map +1 -0
  271. package/dist/tests/csp-hoare/csp-hoare.test.js +313 -0
  272. package/dist/tests/csp-hoare/csp-hoare.test.js.map +1 -0
  273. package/dist/tests/game-theory/game-theory.test.d.ts +2 -0
  274. package/dist/tests/game-theory/game-theory.test.d.ts.map +1 -0
  275. package/dist/tests/game-theory/game-theory.test.js +252 -0
  276. package/dist/tests/game-theory/game-theory.test.js.map +1 -0
  277. package/dist/tests/hindley-milner/hindley-milner.test.d.ts +2 -0
  278. package/dist/tests/hindley-milner/hindley-milner.test.d.ts.map +1 -0
  279. package/dist/tests/hindley-milner/hindley-milner.test.js +327 -0
  280. package/dist/tests/hindley-milner/hindley-milner.test.js.map +1 -0
  281. package/dist/tests/hol/hol.test.d.ts +2 -0
  282. package/dist/tests/hol/hol.test.d.ts.map +1 -0
  283. package/dist/tests/hol/hol.test.js +340 -0
  284. package/dist/tests/hol/hol.test.js.map +1 -0
  285. package/dist/tests/hott/hott.test.d.ts +2 -0
  286. package/dist/tests/hott/hott.test.d.ts.map +1 -0
  287. package/dist/tests/hott/hott.test.js +271 -0
  288. package/dist/tests/hott/hott.test.js.map +1 -0
  289. package/dist/tests/information-theory/information-theory.test.d.ts +2 -0
  290. package/dist/tests/information-theory/information-theory.test.d.ts.map +1 -0
  291. package/dist/tests/information-theory/information-theory.test.js +291 -0
  292. package/dist/tests/information-theory/information-theory.test.js.map +1 -0
  293. package/dist/tests/lemma-synthesis/lemma-synthesis.test.d.ts +2 -0
  294. package/dist/tests/lemma-synthesis/lemma-synthesis.test.d.ts.map +1 -0
  295. package/dist/tests/lemma-synthesis/lemma-synthesis.test.js +460 -0
  296. package/dist/tests/lemma-synthesis/lemma-synthesis.test.js.map +1 -0
  297. package/dist/tests/optimization/ilp.test.d.ts +2 -0
  298. package/dist/tests/optimization/ilp.test.d.ts.map +1 -0
  299. package/dist/tests/optimization/ilp.test.js +204 -0
  300. package/dist/tests/optimization/ilp.test.js.map +1 -0
  301. package/dist/tests/optimization/lp.test.d.ts +2 -0
  302. package/dist/tests/optimization/lp.test.d.ts.map +1 -0
  303. package/dist/tests/optimization/lp.test.js +224 -0
  304. package/dist/tests/optimization/lp.test.js.map +1 -0
  305. package/dist/tests/properties/agm.property.test.d.ts +2 -0
  306. package/dist/tests/properties/agm.property.test.d.ts.map +1 -0
  307. package/dist/tests/properties/agm.property.test.js +75 -0
  308. package/dist/tests/properties/agm.property.test.js.map +1 -0
  309. package/dist/tests/properties/anti-unification.property.test.d.ts +2 -0
  310. package/dist/tests/properties/anti-unification.property.test.d.ts.map +1 -0
  311. package/dist/tests/properties/anti-unification.property.test.js +43 -0
  312. package/dist/tests/properties/anti-unification.property.test.js.map +1 -0
  313. package/dist/tests/properties/argumentation.property.test.d.ts +2 -0
  314. package/dist/tests/properties/argumentation.property.test.d.ts.map +1 -0
  315. package/dist/tests/properties/argumentation.property.test.js +51 -0
  316. package/dist/tests/properties/argumentation.property.test.js.map +1 -0
  317. package/dist/tests/properties/bayesian.property.test.d.ts +2 -0
  318. package/dist/tests/properties/bayesian.property.test.d.ts.map +1 -0
  319. package/dist/tests/properties/bayesian.property.test.js +32 -0
  320. package/dist/tests/properties/bayesian.property.test.js.map +1 -0
  321. package/dist/tests/properties/bisimulation.property.test.d.ts +2 -0
  322. package/dist/tests/properties/bisimulation.property.test.d.ts.map +1 -0
  323. package/dist/tests/properties/bisimulation.property.test.js +50 -0
  324. package/dist/tests/properties/bisimulation.property.test.js.map +1 -0
  325. package/dist/tests/properties/cdcl.property.test.d.ts +2 -0
  326. package/dist/tests/properties/cdcl.property.test.d.ts.map +1 -0
  327. package/dist/tests/properties/cdcl.property.test.js +70 -0
  328. package/dist/tests/properties/cdcl.property.test.js.map +1 -0
  329. package/dist/tests/properties/coinduction.property.test.d.ts +2 -0
  330. package/dist/tests/properties/coinduction.property.test.d.ts.map +1 -0
  331. package/dist/tests/properties/coinduction.property.test.js +34 -0
  332. package/dist/tests/properties/coinduction.property.test.js.map +1 -0
  333. package/dist/tests/properties/constructive-reals.property.test.d.ts +2 -0
  334. package/dist/tests/properties/constructive-reals.property.test.d.ts.map +1 -0
  335. package/dist/tests/properties/constructive-reals.property.test.js +59 -0
  336. package/dist/tests/properties/constructive-reals.property.test.js.map +1 -0
  337. package/dist/tests/properties/csp.property.test.d.ts +2 -0
  338. package/dist/tests/properties/csp.property.test.d.ts.map +1 -0
  339. package/dist/tests/properties/csp.property.test.js +58 -0
  340. package/dist/tests/properties/csp.property.test.js.map +1 -0
  341. package/dist/tests/properties/generators.d.ts +78 -0
  342. package/dist/tests/properties/generators.d.ts.map +1 -0
  343. package/dist/tests/properties/generators.js +348 -0
  344. package/dist/tests/properties/generators.js.map +1 -0
  345. package/dist/tests/properties/ho-unify.property.test.d.ts +2 -0
  346. package/dist/tests/properties/ho-unify.property.test.d.ts.map +1 -0
  347. package/dist/tests/properties/ho-unify.property.test.js +46 -0
  348. package/dist/tests/properties/ho-unify.property.test.js.map +1 -0
  349. package/dist/tests/properties/hyperreal.property.test.d.ts +2 -0
  350. package/dist/tests/properties/hyperreal.property.test.d.ts.map +1 -0
  351. package/dist/tests/properties/hyperreal.property.test.js +33 -0
  352. package/dist/tests/properties/hyperreal.property.test.js.map +1 -0
  353. package/dist/tests/properties/intuit-nj.property.test.d.ts +2 -0
  354. package/dist/tests/properties/intuit-nj.property.test.d.ts.map +1 -0
  355. package/dist/tests/properties/intuit-nj.property.test.js +57 -0
  356. package/dist/tests/properties/intuit-nj.property.test.js.map +1 -0
  357. package/dist/tests/properties/lambda-calc.property.test.d.ts +2 -0
  358. package/dist/tests/properties/lambda-calc.property.test.d.ts.map +1 -0
  359. package/dist/tests/properties/lambda-calc.property.test.js +35 -0
  360. package/dist/tests/properties/lambda-calc.property.test.js.map +1 -0
  361. package/dist/tests/properties/mln.property.test.d.ts +2 -0
  362. package/dist/tests/properties/mln.property.test.d.ts.map +1 -0
  363. package/dist/tests/properties/mln.property.test.js +41 -0
  364. package/dist/tests/properties/mln.property.test.js.map +1 -0
  365. package/dist/tests/properties/mltt.property.test.d.ts +2 -0
  366. package/dist/tests/properties/mltt.property.test.d.ts.map +1 -0
  367. package/dist/tests/properties/mltt.property.test.js +33 -0
  368. package/dist/tests/properties/mltt.property.test.js.map +1 -0
  369. package/dist/tests/properties/nbe.property.test.d.ts +2 -0
  370. package/dist/tests/properties/nbe.property.test.d.ts.map +1 -0
  371. package/dist/tests/properties/nbe.property.test.js +44 -0
  372. package/dist/tests/properties/nbe.property.test.js.map +1 -0
  373. package/dist/tests/properties/planning.property.test.d.ts +2 -0
  374. package/dist/tests/properties/planning.property.test.d.ts.map +1 -0
  375. package/dist/tests/properties/planning.property.test.js +51 -0
  376. package/dist/tests/properties/planning.property.test.js.map +1 -0
  377. package/dist/tests/properties/profile-bridge.property.test.d.ts +2 -0
  378. package/dist/tests/properties/profile-bridge.property.test.d.ts.map +1 -0
  379. package/dist/tests/properties/profile-bridge.property.test.js +71 -0
  380. package/dist/tests/properties/profile-bridge.property.test.js.map +1 -0
  381. package/dist/tests/properties/refinement-types.property.test.d.ts +2 -0
  382. package/dist/tests/properties/refinement-types.property.test.d.ts.map +1 -0
  383. package/dist/tests/properties/refinement-types.property.test.js +37 -0
  384. package/dist/tests/properties/refinement-types.property.test.js.map +1 -0
  385. package/dist/tests/properties/sequent-g3.property.test.d.ts +2 -0
  386. package/dist/tests/properties/sequent-g3.property.test.d.ts.map +1 -0
  387. package/dist/tests/properties/sequent-g3.property.test.js +34 -0
  388. package/dist/tests/properties/sequent-g3.property.test.js.map +1 -0
  389. package/dist/tests/properties/symbolic-diff.property.test.d.ts +2 -0
  390. package/dist/tests/properties/symbolic-diff.property.test.d.ts.map +1 -0
  391. package/dist/tests/properties/symbolic-diff.property.test.js +49 -0
  392. package/dist/tests/properties/symbolic-diff.property.test.js.map +1 -0
  393. package/dist/tests/properties/system-f.property.test.d.ts +2 -0
  394. package/dist/tests/properties/system-f.property.test.d.ts.map +1 -0
  395. package/dist/tests/properties/system-f.property.test.js +37 -0
  396. package/dist/tests/properties/system-f.property.test.js.map +1 -0
  397. package/dist/tests/properties/theorem-cache.property.test.d.ts +2 -0
  398. package/dist/tests/properties/theorem-cache.property.test.d.ts.map +1 -0
  399. package/dist/tests/properties/theorem-cache.property.test.js +38 -0
  400. package/dist/tests/properties/theorem-cache.property.test.js.map +1 -0
  401. package/dist/tests/properties/trs.property.test.d.ts +2 -0
  402. package/dist/tests/properties/trs.property.test.d.ts.map +1 -0
  403. package/dist/tests/properties/trs.property.test.js +34 -0
  404. package/dist/tests/properties/trs.property.test.js.map +1 -0
  405. package/dist/tests/properties/unification.property.test.d.ts +2 -0
  406. package/dist/tests/properties/unification.property.test.d.ts.map +1 -0
  407. package/dist/tests/properties/unification.property.test.js +42 -0
  408. package/dist/tests/properties/unification.property.test.js.map +1 -0
  409. package/dist/tests/smt-lib/emitter.test.d.ts +2 -0
  410. package/dist/tests/smt-lib/emitter.test.d.ts.map +1 -0
  411. package/dist/tests/smt-lib/emitter.test.js +155 -0
  412. package/dist/tests/smt-lib/emitter.test.js.map +1 -0
  413. package/dist/tests/smt-lib/parser.test.d.ts +2 -0
  414. package/dist/tests/smt-lib/parser.test.d.ts.map +1 -0
  415. package/dist/tests/smt-lib/parser.test.js +164 -0
  416. package/dist/tests/smt-lib/parser.test.js.map +1 -0
  417. package/dist/tests/smt-lib/tokenizer.test.d.ts +2 -0
  418. package/dist/tests/smt-lib/tokenizer.test.d.ts.map +1 -0
  419. package/dist/tests/smt-lib/tokenizer.test.js +59 -0
  420. package/dist/tests/smt-lib/tokenizer.test.js.map +1 -0
  421. package/dist/tests/tactic-dsl/tactic-dsl.test.d.ts +2 -0
  422. package/dist/tests/tactic-dsl/tactic-dsl.test.d.ts.map +1 -0
  423. package/dist/tests/tactic-dsl/tactic-dsl.test.js +259 -0
  424. package/dist/tests/tactic-dsl/tactic-dsl.test.js.map +1 -0
  425. package/dist/tests/tptp/bridge.test.d.ts +2 -0
  426. package/dist/tests/tptp/bridge.test.d.ts.map +1 -0
  427. package/dist/tests/tptp/bridge.test.js +154 -0
  428. package/dist/tests/tptp/bridge.test.js.map +1 -0
  429. package/dist/tests/tptp/emitter.test.d.ts +2 -0
  430. package/dist/tests/tptp/emitter.test.d.ts.map +1 -0
  431. package/dist/tests/tptp/emitter.test.js +128 -0
  432. package/dist/tests/tptp/emitter.test.js.map +1 -0
  433. package/dist/tests/tptp/parser.test.d.ts +2 -0
  434. package/dist/tests/tptp/parser.test.d.ts.map +1 -0
  435. package/dist/tests/tptp/parser.test.js +192 -0
  436. package/dist/tests/tptp/parser.test.js.map +1 -0
  437. package/dist/tests/tptp/tokenizer.test.d.ts +2 -0
  438. package/dist/tests/tptp/tokenizer.test.d.ts.map +1 -0
  439. package/dist/tests/tptp/tokenizer.test.js +60 -0
  440. package/dist/tests/tptp/tokenizer.test.js.map +1 -0
  441. package/dist/tptp/ast.d.ts +73 -0
  442. package/dist/tptp/ast.d.ts.map +1 -0
  443. package/dist/tptp/ast.js +35 -0
  444. package/dist/tptp/ast.js.map +1 -0
  445. package/dist/tptp/bridge.d.ts +14 -0
  446. package/dist/tptp/bridge.d.ts.map +1 -0
  447. package/dist/tptp/bridge.js +146 -0
  448. package/dist/tptp/bridge.js.map +1 -0
  449. package/dist/tptp/emitter.d.ts +5 -0
  450. package/dist/tptp/emitter.d.ts.map +1 -0
  451. package/dist/tptp/emitter.js +103 -0
  452. package/dist/tptp/emitter.js.map +1 -0
  453. package/dist/tptp/index.d.ts +7 -0
  454. package/dist/tptp/index.d.ts.map +1 -0
  455. package/dist/tptp/index.js +31 -0
  456. package/dist/tptp/index.js.map +1 -0
  457. package/dist/tptp/parser.d.ts +23 -0
  458. package/dist/tptp/parser.d.ts.map +1 -0
  459. package/dist/tptp/parser.js +440 -0
  460. package/dist/tptp/parser.js.map +1 -0
  461. package/dist/tptp/tokenizer.d.ts +14 -0
  462. package/dist/tptp/tokenizer.d.ts.map +1 -0
  463. package/dist/tptp/tokenizer.js +264 -0
  464. package/dist/tptp/tokenizer.js.map +1 -0
  465. package/package.json +5 -1
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Categorical — Functor y NaturalTransformation
4
+ // ============================================================
5
+ // Wrappers genéricos para construir functores entre categorías
6
+ // arbitrarias y verificar sus leyes vía muestreo sobre los
7
+ // morfismos del dominio.
8
+ // ============================================================
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.mkFunctor = mkFunctor;
11
+ exports.identityFunctor = identityFunctor;
12
+ exports.composeFunctors = composeFunctors;
13
+ exports.mkNaturalTransformation = mkNaturalTransformation;
14
+ exports.identityNT = identityNT;
15
+ /**
16
+ * Crea un functor verificable. El cliente pasa los mapeos a
17
+ * objetos/morfismos; las verificaciones de leyes se derivan
18
+ * recorriendo los `morphisms` de la categoría fuente.
19
+ */
20
+ function mkFunctor(opts) {
21
+ const { name, source, target, onObjects, onMorphisms } = opts;
22
+ function verifyIdentityPreservation() {
23
+ for (const o of source.objects) {
24
+ const idC = source.identity(o);
25
+ const Fid = onMorphisms(idC);
26
+ const idDFo = target.identity(onObjects(o));
27
+ if (!target.eqMor(Fid, idDFo))
28
+ return false;
29
+ }
30
+ return true;
31
+ }
32
+ function verifyComposition(sample = 50) {
33
+ const ms = Array.from(source.morphisms.values());
34
+ let checked = 0;
35
+ for (const f of ms) {
36
+ for (const g of ms) {
37
+ if (!source.eqObj(source.target(f), source.source(g)))
38
+ continue;
39
+ const gf = source.compose(g, f);
40
+ const Fgf = onMorphisms(gf);
41
+ const Fg = onMorphisms(g);
42
+ const Ff = onMorphisms(f);
43
+ const FgFf = target.compose(Fg, Ff);
44
+ if (!target.eqMor(Fgf, FgFf))
45
+ return false;
46
+ if (++checked >= sample)
47
+ return true;
48
+ }
49
+ }
50
+ return true;
51
+ }
52
+ return {
53
+ name,
54
+ source,
55
+ target,
56
+ onObjects,
57
+ onMorphisms,
58
+ verifyIdentityPreservation,
59
+ verifyComposition,
60
+ };
61
+ }
62
+ /**
63
+ * Functor identidad `Id_C : C → C`. Útil para tests y como elemento
64
+ * neutro de la composición de functores.
65
+ */
66
+ function identityFunctor(cat) {
67
+ return mkFunctor({
68
+ name: `Id_${cat.name}`,
69
+ source: cat,
70
+ target: cat,
71
+ onObjects: (o) => o,
72
+ onMorphisms: (m) => m,
73
+ });
74
+ }
75
+ /**
76
+ * Composición de functores F ; G = G ∘ F. La firma respeta la
77
+ * categoría source/target original sin perder información de tipos.
78
+ */
79
+ function composeFunctors(G, F) {
80
+ if (F.target !== G.source) {
81
+ // Permitido si son la misma categoría por valor; pero como las
82
+ // categorías son objetos, exigimos identidad referencial.
83
+ throw new Error(`composeFunctors: F.target (${F.target.name}) !== G.source (${G.source.name})`);
84
+ }
85
+ return mkFunctor({
86
+ name: `${G.name}∘${F.name}`,
87
+ source: F.source,
88
+ target: G.target,
89
+ onObjects: (o) => G.onObjects(F.onObjects(o)),
90
+ onMorphisms: (m) => G.onMorphisms(F.onMorphisms(m)),
91
+ });
92
+ }
93
+ /**
94
+ * Crea una transformación natural η : F ⇒ G verificando su
95
+ * naturalidad por muestreo. El cliente pasa la familia de
96
+ * componentes `component(a) : F(a) → G(a)`.
97
+ */
98
+ function mkNaturalTransformation(opts) {
99
+ const { name, source: F, target: G, component } = opts;
100
+ if (F.source !== G.source || F.target !== G.target) {
101
+ throw new Error('mkNaturalTransformation: F and G must be parallel functors');
102
+ }
103
+ const C = F.source;
104
+ const D = F.target;
105
+ function verifyNaturality(sample = 50) {
106
+ const ms = Array.from(C.morphisms.values());
107
+ let checked = 0;
108
+ for (const f of ms) {
109
+ const a = C.source(f);
110
+ const b = C.target(f);
111
+ const etaA = component(a);
112
+ const etaB = component(b);
113
+ const Gf = G.onMorphisms(f);
114
+ const Ff = F.onMorphisms(f);
115
+ // G(f) ∘ η_a vs η_b ∘ F(f)
116
+ const left = D.compose(Gf, etaA);
117
+ const right = D.compose(etaB, Ff);
118
+ if (!D.eqMor(left, right))
119
+ return false;
120
+ if (++checked >= sample)
121
+ return true;
122
+ }
123
+ return true;
124
+ }
125
+ return { name, source: F, target: G, component, verifyNaturality };
126
+ }
127
+ /**
128
+ * Transformación natural identidad `id_F : F ⇒ F` con componentes
129
+ * `id_{F(a)}`. Sirve como elemento neutro de composición vertical.
130
+ */
131
+ function identityNT(F) {
132
+ return mkNaturalTransformation({
133
+ name: `id_${F.name}`,
134
+ source: F,
135
+ target: F,
136
+ component: (a) => F.target.identity(F.onObjects(a)),
137
+ });
138
+ }
139
+ //# sourceMappingURL=functor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functor.js","sourceRoot":"","sources":["../../src/categorical/functor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export type { Category, Functor, NaturalTransformation, Cone, Cocone, Diagram, MonoidalCategory, MorId, } from './types';
2
+ export { FinSet, mkFinSetMor } from './fin-set';
3
+ export type { FinSetObj, FinSetMor } from './fin-set';
4
+ export { Poset } from './poset';
5
+ export type { PosetMor } from './poset';
6
+ export { Free } from './free';
7
+ export type { FreeMor } from './free';
8
+ export { mkFunctor, identityFunctor, composeFunctors, mkNaturalTransformation, identityNT, } from './functor';
9
+ export { isCone, isLimit, product, coproduct, equalizer, coequalizer } from './limits';
10
+ export { FinSetMonoidal } from './monoidal';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/categorical/index.ts"],"names":[],"mappings":"AAQA,YAAY,EACV,QAAQ,EACR,OAAO,EACP,qBAAqB,EACrB,IAAI,EACJ,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,KAAK,GACN,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,UAAU,GACX,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Categorical — Punto de entrada público
4
+ // ============================================================
5
+ // Re-exporta primitivas de teoría de categorías: Category,
6
+ // Functor, NaturalTransformation, límites/colímites concretos
7
+ // en FinSet, y estructura monoidal estricta sobre FinSet.
8
+ // ============================================================
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.FinSetMonoidal = exports.coequalizer = exports.equalizer = exports.coproduct = exports.product = exports.isLimit = exports.isCone = exports.identityNT = exports.mkNaturalTransformation = exports.composeFunctors = exports.identityFunctor = exports.mkFunctor = exports.Free = exports.Poset = exports.mkFinSetMor = exports.FinSet = void 0;
11
+ var fin_set_1 = require("./fin-set");
12
+ Object.defineProperty(exports, "FinSet", { enumerable: true, get: function () { return fin_set_1.FinSet; } });
13
+ Object.defineProperty(exports, "mkFinSetMor", { enumerable: true, get: function () { return fin_set_1.mkFinSetMor; } });
14
+ var poset_1 = require("./poset");
15
+ Object.defineProperty(exports, "Poset", { enumerable: true, get: function () { return poset_1.Poset; } });
16
+ var free_1 = require("./free");
17
+ Object.defineProperty(exports, "Free", { enumerable: true, get: function () { return free_1.Free; } });
18
+ var functor_1 = require("./functor");
19
+ Object.defineProperty(exports, "mkFunctor", { enumerable: true, get: function () { return functor_1.mkFunctor; } });
20
+ Object.defineProperty(exports, "identityFunctor", { enumerable: true, get: function () { return functor_1.identityFunctor; } });
21
+ Object.defineProperty(exports, "composeFunctors", { enumerable: true, get: function () { return functor_1.composeFunctors; } });
22
+ Object.defineProperty(exports, "mkNaturalTransformation", { enumerable: true, get: function () { return functor_1.mkNaturalTransformation; } });
23
+ Object.defineProperty(exports, "identityNT", { enumerable: true, get: function () { return functor_1.identityNT; } });
24
+ var limits_1 = require("./limits");
25
+ Object.defineProperty(exports, "isCone", { enumerable: true, get: function () { return limits_1.isCone; } });
26
+ Object.defineProperty(exports, "isLimit", { enumerable: true, get: function () { return limits_1.isLimit; } });
27
+ Object.defineProperty(exports, "product", { enumerable: true, get: function () { return limits_1.product; } });
28
+ Object.defineProperty(exports, "coproduct", { enumerable: true, get: function () { return limits_1.coproduct; } });
29
+ Object.defineProperty(exports, "equalizer", { enumerable: true, get: function () { return limits_1.equalizer; } });
30
+ Object.defineProperty(exports, "coequalizer", { enumerable: true, get: function () { return limits_1.coequalizer; } });
31
+ var monoidal_1 = require("./monoidal");
32
+ Object.defineProperty(exports, "FinSetMonoidal", { enumerable: true, get: function () { return monoidal_1.FinSetMonoidal; } });
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/categorical/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,4CAA4C;AAC5C,+DAA+D;AAC/D,2DAA2D;AAC3D,8DAA8D;AAC9D,0DAA0D;AAC1D,+DAA+D;;;AAa/D,qCAAgD;AAAvC,iGAAA,MAAM,OAAA;AAAE,sGAAA,WAAW,OAAA;AAG5B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAGd,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,qCAMmB;AALjB,oGAAA,SAAS,OAAA;AACT,0GAAA,eAAe,OAAA;AACf,0GAAA,eAAe,OAAA;AACf,kHAAA,uBAAuB,OAAA;AACvB,qGAAA,UAAU,OAAA;AAGZ,mCAAuF;AAA9E,gGAAA,MAAM,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,qGAAA,WAAW,OAAA;AAEpE,uCAA4C;AAAnC,0GAAA,cAAc,OAAA"}
@@ -0,0 +1,64 @@
1
+ import type { Category, Cone, Diagram } from './types';
2
+ import { type FinSetMor, type FinSetObj } from './fin-set';
3
+ /**
4
+ * Verifica que `cone` sea un cono sobre `diagram` en `cat`:
5
+ * para cada arista `e: i→j` del diagrama, `e ∘ leg(i) = leg(j)`.
6
+ */
7
+ export declare function isCone<O, M>(cat: Category<O, M>, diagram: Diagram<O, M>, cone: Cone<O, M>): boolean;
8
+ /**
9
+ * Comprueba si `cone` es límite del diagrama: para cada otro cono
10
+ * candidato sobre el diagrama, existe un único morfismo `u : apex' → apex`
11
+ * que conmuta con las patas. La búsqueda es por enumeración sobre
12
+ * los morfismos registrados en `cat`; sirve bien para categorías finitas
13
+ * pequeñas (FinSet con objetos chicos).
14
+ */
15
+ export declare function isLimit<O, M>(cat: Category<O, M>, diagram: Diagram<O, M>, cone: Cone<O, M>): boolean;
16
+ /**
17
+ * Producto binario en FinSet: A×B con proyecciones π1, π2.
18
+ * Construye el objeto producto como un nuevo `FinSetObj` con
19
+ * elementos `(a,b)` codificados como `"a∥b"` y lo registra en `cat`.
20
+ *
21
+ * Devuelve `null` si los objetos no pertenecen a la categoría.
22
+ *
23
+ * Nota: la categoría `cat` debe poder admitir nuevos objetos. Para
24
+ * nuestro uso pedimos que sea una `FinSet`-categoría construida con
25
+ * los carriers explícitos. En lugar de mutar `cat`, esta función
26
+ * regresa el producto + las proyecciones y deja al cliente
27
+ * reconstruir una categoría extendida si lo necesita.
28
+ */
29
+ export declare function product(cat: Category<FinSetObj, FinSetMor>, a: FinSetObj, b: FinSetObj): {
30
+ obj: FinSetObj;
31
+ pi1: FinSetMor;
32
+ pi2: FinSetMor;
33
+ cat: Category<FinSetObj, FinSetMor>;
34
+ } | null;
35
+ /**
36
+ * Coproducto binario en FinSet: unión disjunta A⊔B. Usa prefijos
37
+ * `L:` y `R:` para tag-ear los elementos y produce las inyecciones
38
+ * canónicas in1, in2.
39
+ */
40
+ export declare function coproduct(cat: Category<FinSetObj, FinSetMor>, a: FinSetObj, b: FinSetObj): {
41
+ obj: FinSetObj;
42
+ in1: FinSetMor;
43
+ in2: FinSetMor;
44
+ cat: Category<FinSetObj, FinSetMor>;
45
+ } | null;
46
+ /**
47
+ * Igualador en FinSet de un par paralelo `f, g : A → B`. El igualador
48
+ * es el subconjunto `E = { x ∈ A | f(x) = g(x) }` con inclusión `eq : E ↪ A`.
49
+ */
50
+ export declare function equalizer(cat: Category<FinSetObj, FinSetMor>, f: FinSetMor, g: FinSetMor): {
51
+ obj: FinSetObj;
52
+ eq: FinSetMor;
53
+ cat: Category<FinSetObj, FinSetMor>;
54
+ } | null;
55
+ /**
56
+ * Coigualador (colimite dual): cociente A/~ donde x ~ y si existe
57
+ * z ∈ S con f(z)=x ∧ g(z)=y (cierre transitivo-simétrico).
58
+ */
59
+ export declare function coequalizer(cat: Category<FinSetObj, FinSetMor>, f: FinSetMor, g: FinSetMor): {
60
+ obj: FinSetObj;
61
+ q: FinSetMor;
62
+ cat: Category<FinSetObj, FinSetMor>;
63
+ } | null;
64
+ //# sourceMappingURL=limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/categorical/limits.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAuB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEhF;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EACzB,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EACnB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACf,OAAO,CAYT;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EACnB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACf,OAAO,CA2BT;AAgCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EACnC,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,GACX;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;CAAE,GAAG,IAAI,CAuBhG;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EACnC,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,GACX;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;CAAE,GAAG,IAAI,CAsBhG;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EACnC,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,GACX;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;CAAE,GAAG,IAAI,CAkB/E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,EACnC,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,GACX;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;CAAE,GAAG,IAAI,CAkC9E"}
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Categorical — Límites y colímites
4
+ // ============================================================
5
+ // Construcciones universales en FinSet (las más usadas):
6
+ // • product(a, b) — producto binario A×B
7
+ // • coproduct(a, b) — coproducto binario A⊔B
8
+ // • equalizer(f, g) — igualador de un par paralelo
9
+ //
10
+ // Para casos generales también exponemos `isLimit` que recibe un
11
+ // diagrama y un cono y verifica la propiedad universal por
12
+ // muestreo sobre los conos candidatos del diagrama.
13
+ // ============================================================
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.isCone = isCone;
16
+ exports.isLimit = isLimit;
17
+ exports.product = product;
18
+ exports.coproduct = coproduct;
19
+ exports.equalizer = equalizer;
20
+ exports.coequalizer = coequalizer;
21
+ const fin_set_1 = require("./fin-set");
22
+ /**
23
+ * Verifica que `cone` sea un cono sobre `diagram` en `cat`:
24
+ * para cada arista `e: i→j` del diagrama, `e ∘ leg(i) = leg(j)`.
25
+ */
26
+ function isCone(cat, diagram, cone) {
27
+ for (const v of diagram.vertices.keys()) {
28
+ if (!cone.legs.has(v))
29
+ return false;
30
+ }
31
+ for (const { from, to, mor } of diagram.edges) {
32
+ const legFrom = cone.legs.get(from);
33
+ const legTo = cone.legs.get(to);
34
+ if (!legFrom || !legTo)
35
+ return false;
36
+ const composed = cat.compose(mor, legFrom);
37
+ if (!cat.eqMor(composed, legTo))
38
+ return false;
39
+ }
40
+ return true;
41
+ }
42
+ /**
43
+ * Comprueba si `cone` es límite del diagrama: para cada otro cono
44
+ * candidato sobre el diagrama, existe un único morfismo `u : apex' → apex`
45
+ * que conmuta con las patas. La búsqueda es por enumeración sobre
46
+ * los morfismos registrados en `cat`; sirve bien para categorías finitas
47
+ * pequeñas (FinSet con objetos chicos).
48
+ */
49
+ function isLimit(cat, diagram, cone) {
50
+ if (!isCone(cat, diagram, cone))
51
+ return false;
52
+ // Enumerar otros conos candidatos: para cada objeto X en cat,
53
+ // todos los tuples de morfismos X→vertices que respeten edges.
54
+ for (const X of cat.objects) {
55
+ const candidates = enumerateCones(cat, diagram, X);
56
+ for (const cand of candidates) {
57
+ // Buscar u : X → apex tal que ∀ v: leg(v) ∘ u = cand.legs(v)
58
+ const candidatesU = cat.hom(X, cone.apex);
59
+ let found = 0;
60
+ for (const u of candidatesU) {
61
+ let ok = true;
62
+ for (const [v, leg] of cone.legs) {
63
+ const composed = cat.compose(leg, u);
64
+ const expected = cand.legs.get(v);
65
+ if (!cat.eqMor(composed, expected)) {
66
+ ok = false;
67
+ break;
68
+ }
69
+ }
70
+ if (ok)
71
+ found++;
72
+ if (found > 1)
73
+ return false; // no único
74
+ }
75
+ if (found !== 1)
76
+ return false;
77
+ }
78
+ }
79
+ return true;
80
+ }
81
+ function enumerateCones(cat, diagram, apex) {
82
+ const vNames = Array.from(diagram.vertices.keys());
83
+ // Para cada vértice, lista de posibles legs apex→vertice.
84
+ const optionsPerVertex = vNames.map((v) => {
85
+ const obj = diagram.vertices.get(v);
86
+ return cat.hom(apex, obj).map((leg) => ({ vName: v, leg }));
87
+ });
88
+ // Producto cartesiano. Para diagramas pequeños es manejable.
89
+ let combos = [new Map()];
90
+ for (const opts of optionsPerVertex) {
91
+ const next = [];
92
+ for (const partial of combos) {
93
+ for (const o of opts) {
94
+ const nm = new Map(partial);
95
+ nm.set(o.vName, o.leg);
96
+ next.push(nm);
97
+ }
98
+ }
99
+ combos = next;
100
+ }
101
+ const out = [];
102
+ for (const legs of combos) {
103
+ const cand = { apex, legs };
104
+ if (isCone(cat, diagram, cand))
105
+ out.push(cand);
106
+ }
107
+ return out;
108
+ }
109
+ // ── Construcciones concretas en FinSet ───────────────────────
110
+ /**
111
+ * Producto binario en FinSet: A×B con proyecciones π1, π2.
112
+ * Construye el objeto producto como un nuevo `FinSetObj` con
113
+ * elementos `(a,b)` codificados como `"a∥b"` y lo registra en `cat`.
114
+ *
115
+ * Devuelve `null` si los objetos no pertenecen a la categoría.
116
+ *
117
+ * Nota: la categoría `cat` debe poder admitir nuevos objetos. Para
118
+ * nuestro uso pedimos que sea una `FinSet`-categoría construida con
119
+ * los carriers explícitos. En lugar de mutar `cat`, esta función
120
+ * regresa el producto + las proyecciones y deja al cliente
121
+ * reconstruir una categoría extendida si lo necesita.
122
+ */
123
+ function product(cat, a, b) {
124
+ if (!cat.objects.has(a) || !cat.objects.has(b))
125
+ return null;
126
+ const sep = '∥';
127
+ const elements = [];
128
+ const pi1Table = {};
129
+ const pi2Table = {};
130
+ for (const x of a.elements) {
131
+ for (const y of b.elements) {
132
+ const tag = `${x}${sep}${y}`;
133
+ elements.push(tag);
134
+ pi1Table[tag] = x;
135
+ pi2Table[tag] = y;
136
+ }
137
+ }
138
+ const prod = { name: `${a.name}×${b.name}`, elements };
139
+ const extendedObjs = [...cat.objects, prod];
140
+ // Construimos categoría extendida con los morfismos previos como
141
+ // generadores + π1, π2.
142
+ const oldGens = Array.from(cat.morphisms.values()).filter((m) => !m.id.endsWith(':id'));
143
+ const pi1 = (0, fin_set_1.mkFinSetMor)('π1', prod, a, pi1Table);
144
+ const pi2 = (0, fin_set_1.mkFinSetMor)('π2', prod, b, pi2Table);
145
+ const newCat = (0, fin_set_1.FinSet)(extendedObjs, [...oldGens, pi1, pi2]);
146
+ return { obj: prod, pi1, pi2, cat: newCat };
147
+ }
148
+ /**
149
+ * Coproducto binario en FinSet: unión disjunta A⊔B. Usa prefijos
150
+ * `L:` y `R:` para tag-ear los elementos y produce las inyecciones
151
+ * canónicas in1, in2.
152
+ */
153
+ function coproduct(cat, a, b) {
154
+ if (!cat.objects.has(a) || !cat.objects.has(b))
155
+ return null;
156
+ const elements = [];
157
+ const in1Table = {};
158
+ const in2Table = {};
159
+ for (const x of a.elements) {
160
+ const tag = `L:${x}`;
161
+ elements.push(tag);
162
+ in1Table[x] = tag;
163
+ }
164
+ for (const y of b.elements) {
165
+ const tag = `R:${y}`;
166
+ elements.push(tag);
167
+ in2Table[y] = tag;
168
+ }
169
+ const cop = { name: `${a.name}⊔${b.name}`, elements };
170
+ const extendedObjs = [...cat.objects, cop];
171
+ const oldGens = Array.from(cat.morphisms.values()).filter((m) => !m.id.endsWith(':id'));
172
+ const in1 = (0, fin_set_1.mkFinSetMor)('in1', a, cop, in1Table);
173
+ const in2 = (0, fin_set_1.mkFinSetMor)('in2', b, cop, in2Table);
174
+ const newCat = (0, fin_set_1.FinSet)(extendedObjs, [...oldGens, in1, in2]);
175
+ return { obj: cop, in1, in2, cat: newCat };
176
+ }
177
+ /**
178
+ * Igualador en FinSet de un par paralelo `f, g : A → B`. El igualador
179
+ * es el subconjunto `E = { x ∈ A | f(x) = g(x) }` con inclusión `eq : E ↪ A`.
180
+ */
181
+ function equalizer(cat, f, g) {
182
+ if (f.src !== g.src || f.tgt !== g.tgt)
183
+ return null;
184
+ const aObj = Array.from(cat.objects).find((o) => o.name === f.src);
185
+ if (!aObj)
186
+ return null;
187
+ const elements = [];
188
+ const eqTable = {};
189
+ for (const x of aObj.elements) {
190
+ if (f.fn.get(x) === g.fn.get(x)) {
191
+ elements.push(x);
192
+ eqTable[x] = x;
193
+ }
194
+ }
195
+ const eObj = { name: `Eq(${f.id},${g.id})`, elements };
196
+ const extendedObjs = [...cat.objects, eObj];
197
+ const oldGens = Array.from(cat.morphisms.values()).filter((m) => !m.id.endsWith(':id'));
198
+ const eq = (0, fin_set_1.mkFinSetMor)('eq', eObj, aObj, eqTable);
199
+ const newCat = (0, fin_set_1.FinSet)(extendedObjs, [...oldGens, eq]);
200
+ return { obj: eObj, eq, cat: newCat };
201
+ }
202
+ /**
203
+ * Coigualador (colimite dual): cociente A/~ donde x ~ y si existe
204
+ * z ∈ S con f(z)=x ∧ g(z)=y (cierre transitivo-simétrico).
205
+ */
206
+ function coequalizer(cat, f, g) {
207
+ if (f.src !== g.src || f.tgt !== g.tgt)
208
+ return null;
209
+ const aObj = Array.from(cat.objects).find((o) => o.name === f.src);
210
+ const bObj = Array.from(cat.objects).find((o) => o.name === f.tgt);
211
+ if (!aObj || !bObj)
212
+ return null;
213
+ // Union-find sobre elementos de B
214
+ const parent = new Map();
215
+ for (const y of bObj.elements)
216
+ parent.set(y, y);
217
+ function find(x) {
218
+ let p = parent.get(x);
219
+ while (p !== parent.get(p))
220
+ p = parent.get(p);
221
+ parent.set(x, p);
222
+ return p;
223
+ }
224
+ function union(x, y) {
225
+ const px = find(x);
226
+ const py = find(y);
227
+ if (px !== py)
228
+ parent.set(px, py);
229
+ }
230
+ for (const z of aObj.elements) {
231
+ union(f.fn.get(z), g.fn.get(z));
232
+ }
233
+ // Clases canónicas
234
+ const reps = new Set();
235
+ for (const y of bObj.elements)
236
+ reps.add(find(y));
237
+ const elements = Array.from(reps).sort();
238
+ const qTable = {};
239
+ for (const y of bObj.elements)
240
+ qTable[y] = find(y);
241
+ const cObj = { name: `Coeq(${f.id},${g.id})`, elements };
242
+ const extendedObjs = [...cat.objects, cObj];
243
+ const oldGens = Array.from(cat.morphisms.values()).filter((m) => !m.id.endsWith(':id'));
244
+ const q = (0, fin_set_1.mkFinSetMor)('q', bObj, cObj, qTable);
245
+ const newCat = (0, fin_set_1.FinSet)(extendedObjs, [...oldGens, q]);
246
+ return { obj: cObj, q, cat: newCat };
247
+ }
248
+ //# sourceMappingURL=limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/categorical/limits.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { MonoidalCategory } from './types';
2
+ import { type FinSetMor, type FinSetObj } from './fin-set';
3
+ /**
4
+ * Construye la categoría monoidal (FinSet, ×, 1). Recibe la lista
5
+ * de objetos generadores; añade automáticamente la unidad 1.
6
+ *
7
+ * Esta versión es estricta hasta isomorfismo canónico: los unitores
8
+ * y asociador se comprueban por igualdad estructural de los
9
+ * elementos serializados (`x` vs `*∥x` vs `x∥*`), siguiendo la
10
+ * convención `mkProductObj`. En lugar de verificar conmutatividad
11
+ * de diagramas complejos, comparamos los carriers normalizados.
12
+ */
13
+ export declare function FinSetMonoidal(objs: ReadonlyArray<FinSetObj>, generators?: ReadonlyArray<FinSetMor>): MonoidalCategory<FinSetObj, FinSetMor>;
14
+ //# sourceMappingURL=monoidal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monoidal.d.ts","sourceRoot":"","sources":["../../src/categorical/monoidal.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAuB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEhF;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,EAC9B,UAAU,GAAE,aAAa,CAAC,SAAS,CAAM,GACxC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CA+HxC"}