@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,148 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Categorical — Monoidal Category (FinSet con producto ×)
4
+ // ============================================================
5
+ // Construcción concreta de la categoría monoidal estricta
6
+ // (FinSet, ×, 1) donde 1 = {*} y A×B se define elemento a elemento.
7
+ // Verifica unitor izquierdo / derecho y asociador por igualdad
8
+ // estricta sobre los carriers (suficiente porque elegimos los
9
+ // nombres canónicos: "*∥x" se mapea a "x", etc.).
10
+ // ============================================================
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FinSetMonoidal = FinSetMonoidal;
13
+ const fin_set_1 = require("./fin-set");
14
+ /**
15
+ * Construye la categoría monoidal (FinSet, ×, 1). Recibe la lista
16
+ * de objetos generadores; añade automáticamente la unidad 1.
17
+ *
18
+ * Esta versión es estricta hasta isomorfismo canónico: los unitores
19
+ * y asociador se comprueban por igualdad estructural de los
20
+ * elementos serializados (`x` vs `*∥x` vs `x∥*`), siguiendo la
21
+ * convención `mkProductObj`. En lugar de verificar conmutatividad
22
+ * de diagramas complejos, comparamos los carriers normalizados.
23
+ */
24
+ function FinSetMonoidal(objs, generators = []) {
25
+ const unit = { name: '1', elements: ['*'] };
26
+ const allObjs = [unit, ...objs];
27
+ // Cerramos productos relevantes para que verifyAssociator/unitors
28
+ // puedan buscar objetos producto sin construir uno nuevo cada vez.
29
+ const objsByName = new Map();
30
+ for (const o of allObjs)
31
+ objsByName.set(o.name, o);
32
+ function productObj(a, b) {
33
+ const name = `${a.name}×${b.name}`;
34
+ const cached = objsByName.get(name);
35
+ if (cached)
36
+ return cached;
37
+ const elements = [];
38
+ for (const x of a.elements) {
39
+ for (const y of b.elements) {
40
+ elements.push(`${x}∥${y}`);
41
+ }
42
+ }
43
+ const o = { name, elements };
44
+ objsByName.set(name, o);
45
+ return o;
46
+ }
47
+ // Generar tensorial de unidades y de generators para asegurar
48
+ // que la categoría base tenga las identidades para esos objetos.
49
+ const expandedObjs = [...allObjs];
50
+ for (const a of allObjs) {
51
+ for (const b of allObjs) {
52
+ const p = productObj(a, b);
53
+ if (!expandedObjs.some((o) => o.name === p.name))
54
+ expandedObjs.push(p);
55
+ }
56
+ }
57
+ const baseCat = (0, fin_set_1.FinSet)(expandedObjs, generators);
58
+ function tensor(a, b) {
59
+ return productObj(a, b);
60
+ }
61
+ function tensorMor(f, g) {
62
+ // f×g : A×B → A'×B', (a,b) ↦ (f(a), g(b))
63
+ const aObj = Array.from(baseCat.objects).find((o) => o.name === f.src);
64
+ const bObj = Array.from(baseCat.objects).find((o) => o.name === g.src);
65
+ const aTgt = Array.from(baseCat.objects).find((o) => o.name === f.tgt);
66
+ const bTgt = Array.from(baseCat.objects).find((o) => o.name === g.tgt);
67
+ const prodSrc = productObj(aObj, bObj);
68
+ const prodTgt = productObj(aTgt, bTgt);
69
+ const table = {};
70
+ for (const x of aObj.elements) {
71
+ for (const y of bObj.elements) {
72
+ table[`${x}∥${y}`] = `${f.fn.get(x)}∥${g.fn.get(y)}`;
73
+ }
74
+ }
75
+ // Asegurar que los objetos producto existan en la categoría base.
76
+ if (!baseCat.objects.has(prodSrc) || !baseCat.objects.has(prodTgt)) {
77
+ // No deberían faltar con expandedObjs, pero como salvaguarda
78
+ // devolvemos un morfismo standalone.
79
+ }
80
+ return (0, fin_set_1.mkFinSetMor)(`${f.id.split(':').pop()}×${g.id.split(':').pop()}`, prodSrc, prodTgt, table);
81
+ }
82
+ function verifyLeftUnitor() {
83
+ // 1⊗A debe ser isomorfo a A. Concretamente: el carrier de 1×A es
84
+ // { "*∥a" | a∈A }, en biyección con A vía "*∥a" ↔ a.
85
+ for (const a of allObjs) {
86
+ const oneA = tensor(unit, a);
87
+ if (oneA.elements.length !== a.elements.length)
88
+ return false;
89
+ // Cada elemento "*∥a" debe corresponder con un a en A.
90
+ const matches = oneA.elements.every((el) => {
91
+ const [u, x] = el.split('∥');
92
+ return u === '*' && a.elements.includes(x ?? '');
93
+ });
94
+ if (!matches)
95
+ return false;
96
+ }
97
+ return true;
98
+ }
99
+ function verifyRightUnitor() {
100
+ for (const a of allObjs) {
101
+ const aOne = tensor(a, unit);
102
+ if (aOne.elements.length !== a.elements.length)
103
+ return false;
104
+ const matches = aOne.elements.every((el) => {
105
+ const [x, u] = el.split('∥');
106
+ return u === '*' && a.elements.includes(x ?? '');
107
+ });
108
+ if (!matches)
109
+ return false;
110
+ }
111
+ return true;
112
+ }
113
+ function verifyAssociator() {
114
+ // (A⊗B)⊗C y A⊗(B⊗C) deben tener carriers en biyección canónica.
115
+ for (const a of allObjs) {
116
+ for (const b of allObjs) {
117
+ for (const c of allObjs) {
118
+ const lhs = tensor(tensor(a, b), c);
119
+ const rhs = tensor(a, tensor(b, c));
120
+ if (lhs.elements.length !== rhs.elements.length)
121
+ return false;
122
+ // Asociador: "(x∥y)∥z" ↔ "x∥(y∥z)". Como nuestro encoding es
123
+ // strings con ∥ izquierda-asociativo, normalizamos quitando
124
+ // separadores y comparando.
125
+ const lset = new Set(lhs.elements.map((s) => s.replaceAll('∥', '|')));
126
+ const rset = new Set(rhs.elements.map((s) => s.replaceAll('∥', '|')));
127
+ if (lset.size !== rset.size)
128
+ return false;
129
+ for (const s of lset)
130
+ if (!rset.has(s))
131
+ return false;
132
+ }
133
+ }
134
+ }
135
+ return true;
136
+ }
137
+ return {
138
+ ...baseCat,
139
+ name: 'FinSet⊗',
140
+ unit,
141
+ tensor,
142
+ tensorMor,
143
+ verifyLeftUnitor,
144
+ verifyRightUnitor,
145
+ verifyAssociator,
146
+ };
147
+ }
148
+ //# sourceMappingURL=monoidal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monoidal.js","sourceRoot":"","sources":["../../src/categorical/monoidal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Category, MorId } from './types';
2
+ /** Morfismo del poset: par origen/destino. Único entre dos objetos. */
3
+ export interface PosetMor {
4
+ readonly id: MorId;
5
+ readonly src: string;
6
+ readonly tgt: string;
7
+ }
8
+ /**
9
+ * Construye la categoría poset. `elements` define los objetos y
10
+ * `leq` los pares a≤b explícitos. La clausura reflexivo-transitiva
11
+ * se calcula y se realiza como morfismos del Category resultante.
12
+ */
13
+ export declare function Poset(elements: ReadonlyArray<string>, leq: ReadonlyArray<readonly [string, string]>): Category<string, PosetMor>;
14
+ //# sourceMappingURL=poset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poset.d.ts","sourceRoot":"","sources":["../../src/categorical/poset.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C,uEAAuE;AACvE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CACnB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAC/B,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC5C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAmG5B"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Categorical — Poset como categoría
4
+ // ============================================================
5
+ // Un poset (P, ≤) genera una categoría con un único morfismo a→b
6
+ // por cada par (a, b) tal que a ≤ b. La identidad es a ≤ a y la
7
+ // composición es transitividad. Reflexividad y transitividad están
8
+ // validadas por construcción.
9
+ // ============================================================
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.Poset = Poset;
12
+ /**
13
+ * Construye la categoría poset. `elements` define los objetos y
14
+ * `leq` los pares a≤b explícitos. La clausura reflexivo-transitiva
15
+ * se calcula y se realiza como morfismos del Category resultante.
16
+ */
17
+ function Poset(elements, leq) {
18
+ // Clausura reflexivo-transitiva sobre la relación dada.
19
+ const closure = new Set();
20
+ for (const e of elements)
21
+ closure.add(`${e}|${e}`);
22
+ for (const [a, b] of leq)
23
+ closure.add(`${a}|${b}`);
24
+ let changed = true;
25
+ while (changed) {
26
+ changed = false;
27
+ const snapshot = Array.from(closure).map((s) => s.split('|'));
28
+ for (const [a, b] of snapshot) {
29
+ for (const [c, d] of snapshot) {
30
+ if (b === c) {
31
+ const key = `${a}|${d}`;
32
+ if (!closure.has(key)) {
33
+ closure.add(key);
34
+ changed = true;
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ // Antisimetría se asume verificada por el cliente (no la chequeamos
41
+ // aquí — si el cliente da un ciclo, simplemente colapsa elementos en
42
+ // la categoría resultante y los tests lo detectarán).
43
+ const morphisms = new Map();
44
+ for (const key of closure) {
45
+ const [a, b] = key.split('|');
46
+ const mid = `${a}→${b}:leq`;
47
+ morphisms.set(mid, { id: mid, src: a, tgt: b });
48
+ }
49
+ const objectsSet = new Set(elements);
50
+ function identity(obj) {
51
+ const m = morphisms.get(`${obj}→${obj}:leq`);
52
+ if (!m)
53
+ throw new Error(`Poset: missing identity for ${obj}`);
54
+ return m;
55
+ }
56
+ function compose(g, f) {
57
+ if (f.tgt !== g.src) {
58
+ throw new Error(`Poset compose: dom mismatch ${f.id} ; ${g.id}`);
59
+ }
60
+ const id = `${f.src}→${g.tgt}:leq`;
61
+ const m = morphisms.get(id);
62
+ if (!m)
63
+ throw new Error(`Poset compose: missing morphism ${id}`);
64
+ return m;
65
+ }
66
+ function source(m) {
67
+ return m.src;
68
+ }
69
+ function target(m) {
70
+ return m.tgt;
71
+ }
72
+ function eqMor(a, b) {
73
+ return a.id === b.id;
74
+ }
75
+ function eqObj(a, b) {
76
+ return a === b;
77
+ }
78
+ function hom(a, b) {
79
+ const m = morphisms.get(`${a}→${b}:leq`);
80
+ return m ? [m] : [];
81
+ }
82
+ function verifyAssociativity() {
83
+ // En un poset cualquier composición es única, asociativa por
84
+ // construcción.
85
+ return true;
86
+ }
87
+ function verifyIdentity() {
88
+ // Reflexividad y composición con identidad: triviales por
89
+ // construcción al estar la clausura reflexiva añadida.
90
+ for (const m of morphisms.values()) {
91
+ const idSrc = identity(m.src);
92
+ const idTgt = identity(m.tgt);
93
+ if (compose(m, idSrc).id !== m.id)
94
+ return false;
95
+ if (compose(idTgt, m).id !== m.id)
96
+ return false;
97
+ }
98
+ return true;
99
+ }
100
+ return {
101
+ name: 'Poset',
102
+ objects: objectsSet,
103
+ morphisms,
104
+ identity,
105
+ compose,
106
+ source,
107
+ target,
108
+ eqMor,
109
+ eqObj,
110
+ hom,
111
+ verifyAssociativity,
112
+ verifyIdentity,
113
+ };
114
+ }
115
+ //# sourceMappingURL=poset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poset.js","sourceRoot":"","sources":["../../src/categorical/poset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Identidad estable de un morfismo. Las categorías construidas
3
+ * en este módulo usan strings derivados de `src→tgt:name`, pero
4
+ * un cliente puede definir su propio esquema mientras sea único.
5
+ */
6
+ export type MorId = string;
7
+ /**
8
+ * Una categoría sobre objetos `Obj` y morfismos `Mor`. Las
9
+ * propiedades `objects` y `morphisms` exponen el grafo subyacente
10
+ * para tests y consumidores que necesiten iterar.
11
+ *
12
+ * Los morfismos viven en un `Map<MorId, Mor>` para que el chequeo
13
+ * de leyes pueda muestrear pares aleatorios sin coste prohibitivo.
14
+ */
15
+ export interface Category<Obj, Mor> {
16
+ readonly name: string;
17
+ readonly objects: Set<Obj>;
18
+ readonly morphisms: Map<MorId, Mor>;
19
+ /** Devuelve la identidad para un objeto (axioma: existe y es única). */
20
+ identity(obj: Obj): Mor;
21
+ /** Composición g ∘ f (lee de derecha a izquierda: aplica f y luego g). */
22
+ compose(g: Mor, f: Mor): Mor;
23
+ /** Dominio del morfismo. */
24
+ source(m: Mor): Obj;
25
+ /** Codominio del morfismo. */
26
+ target(m: Mor): Obj;
27
+ /** Igualdad de morfismos (semántica del modelo concreto). */
28
+ eqMor(a: Mor, b: Mor): boolean;
29
+ /** Igualdad de objetos (semántica del modelo concreto). */
30
+ eqObj(a: Obj, b: Obj): boolean;
31
+ /** Devuelve todos los morfismos a→b. Útil para tests y para limits. */
32
+ hom(a: Obj, b: Obj): Mor[];
33
+ /** Verifica asociatividad: (h∘g)∘f = h∘(g∘f) sobre un muestreo. */
34
+ verifyAssociativity(sample?: number): boolean;
35
+ /** Verifica id ∘ f = f y f ∘ id = f. */
36
+ verifyIdentity(sample?: number): boolean;
37
+ }
38
+ /**
39
+ * Functor F : C → D, dado por su acción en objetos y morfismos.
40
+ * Debe preservar identidad y composición; ambas son verificables.
41
+ */
42
+ export interface Functor<O1, M1, O2, M2> {
43
+ readonly name: string;
44
+ readonly source: Category<O1, M1>;
45
+ readonly target: Category<O2, M2>;
46
+ onObjects(obj: O1): O2;
47
+ onMorphisms(mor: M1): M2;
48
+ /** F(id_a) = id_{F(a)} para todo objeto. */
49
+ verifyIdentityPreservation(): boolean;
50
+ /** F(g∘f) = F(g)∘F(f). */
51
+ verifyComposition(sample?: number): boolean;
52
+ }
53
+ /**
54
+ * Transformación natural η : F ⇒ G entre functores paralelos
55
+ * F, G : C → D. Cada componente `η_a : F(a) → G(a)`. La condición
56
+ * de naturalidad es G(f) ∘ η_a = η_b ∘ F(f) para f : a→b en C.
57
+ */
58
+ export interface NaturalTransformation<O1, M1, O2, M2> {
59
+ readonly name: string;
60
+ readonly source: Functor<O1, M1, O2, M2>;
61
+ readonly target: Functor<O1, M1, O2, M2>;
62
+ component(obj: O1): M2;
63
+ verifyNaturality(sample?: number): boolean;
64
+ }
65
+ /**
66
+ * Un diagrama es un functor desde una categoría índice J (típicamente
67
+ * pequeña, finita) a la categoría ambiente C. Para nuestros usos
68
+ * concretos representamos el diagrama por sus vértices (objetos
69
+ * de C imagen) y sus aristas (morfismos forzados entre ellos).
70
+ */
71
+ export interface Diagram<O, M> {
72
+ readonly vertices: Map<string, O>;
73
+ readonly edges: Array<{
74
+ from: string;
75
+ to: string;
76
+ mor: M;
77
+ }>;
78
+ }
79
+ /**
80
+ * Cono sobre un diagrama: un objeto ápice junto con un morfismo
81
+ * (`leg`) hacia cada vértice del diagrama, conmutando con sus aristas.
82
+ */
83
+ export interface Cone<O, M> {
84
+ apex: O;
85
+ legs: Map<string, M>;
86
+ }
87
+ /**
88
+ * Cocono (dual del cono): un ápice con morfismos *desde* cada vértice.
89
+ */
90
+ export interface Cocone<O, M> {
91
+ apex: O;
92
+ legs: Map<string, M>;
93
+ }
94
+ /**
95
+ * Categoría monoidal: añade producto tensorial y unidad sobre
96
+ * la estructura categórica. No imponemos asociadores ni unitores
97
+ * explícitos — los modelos concretos (Set con ×) son estrictos
98
+ * suficiente para verificar α, λ, ρ por igualdad en objetos.
99
+ */
100
+ export interface MonoidalCategory<O, M> extends Category<O, M> {
101
+ readonly unit: O;
102
+ tensor(a: O, b: O): O;
103
+ tensorMor(f: M, g: M): M;
104
+ /** Unitor izquierdo: 1 ⊗ a ≅ a (verificable por igualdad de objetos). */
105
+ verifyLeftUnitor(sample?: number): boolean;
106
+ /** Unitor derecho: a ⊗ 1 ≅ a. */
107
+ verifyRightUnitor(sample?: number): boolean;
108
+ /** Asociador: (a⊗b)⊗c = a⊗(b⊗c). */
109
+ verifyAssociator(sample?: number): boolean;
110
+ }
111
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/categorical/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Categorical — Tipos públicos
4
+ // ============================================================
5
+ // Definiciones de interfaz para Category, Functor,
6
+ // NaturalTransformation, Cone, Diagram y MonoidalCategory.
7
+ //
8
+ // Decisión de diseño: cada morfismo se identifica por su `id`
9
+ // (clave estable string-able). La categoría es responsable de
10
+ // resolver compose / source / target a partir de la identidad
11
+ // del morfismo. Esto permite igualdad estructural simple por
12
+ // `id`, sin tener que comparar callbacks o funciones.
13
+ // ============================================================
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/categorical/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kCAAkC;AAClC,+DAA+D;AAC/D,mDAAmD;AACnD,2DAA2D;AAC3D,EAAE;AACF,8DAA8D;AAC9D,8DAA8D;AAC9D,8DAA8D;AAC9D,6DAA6D;AAC7D,sDAAsD;AACtD,+DAA+D"}
@@ -0,0 +1,51 @@
1
+ import type { FailurePair, Process, Trace } from './types';
2
+ /**
3
+ * Enumera todas las trazas de `p` hasta longitud `maxLength` (inclusive).
4
+ * Incluye la traza vacía (siempre presente) y los prefijos intermedios.
5
+ *
6
+ * Las trazas se devuelven sin duplicados, ordenadas por longitud
7
+ * ascendente, y como copias de arrays inmutables (las modificaciones no
8
+ * afectan el motor).
9
+ */
10
+ export declare function traces(p: Process, maxLength?: number): Trace[];
11
+ /**
12
+ * Calcula failures hasta `maxLength`. Para cada traza alcanzable, registra
13
+ * los refusal sets posibles iterando todas las resoluciones internas del
14
+ * estado tras la traza.
15
+ *
16
+ * Devuelve una lista (no un set) porque los refusal sets son objetos —
17
+ * agrupamos por igualdad estructural y deduplicamos manualmente.
18
+ */
19
+ export declare function failures(p: Process, maxLength?: number): FailurePair[];
20
+ /**
21
+ * Hay deadlock si el proceso no ofrece NINGÚN evento (ni siquiera ✓) en
22
+ * ALGUNA resolución interna alcanzable desde el estado inicial.
23
+ *
24
+ * En `STOP` el chequeo es trivial: `nextEvents(STOP) = ∅`.
25
+ */
26
+ export declare function isDeadlocked(p: Process): boolean;
27
+ /**
28
+ * Detección heurística de livelock: el proceso recorre eventos ocultos
29
+ * (τ) indefinidamente sin avanzar visiblemente. Implementación: chequea
30
+ * si la profundidad de despliegues internos excede `depth` sin ofrecer
31
+ * eventos visibles.
32
+ *
33
+ * No es decisión: usamos límite acotado. Útil para advertir sobre `μX.X`
34
+ * o `(a → STOP) \ {a}` con loop.
35
+ */
36
+ export declare function isLiveLocked(p: Process, depth?: number): boolean;
37
+ /**
38
+ * P ⊑_T Q : Q refina a P en trazas sii cada traza de Q es traza de P.
39
+ * Equivalentemente: Q no puede hacer nada que P no pudiera observar.
40
+ */
41
+ export declare function refinesTraces(spec: Process, impl: Process, maxLength?: number): boolean;
42
+ /**
43
+ * P ⊑_F Q : refinamiento en failures. Q refina a P sii:
44
+ * (a) traces(Q) ⊆ traces(P)
45
+ * (b) failures(Q) ⊆ failures(P)
46
+ *
47
+ * Una falla `(t, R)` de Q debe poder ser exhibida también por P. Esto
48
+ * capta el principio de que Q es "menos no-determinista" que P.
49
+ */
50
+ export declare function refinesFailures(spec: Process, impl: Process, maxLength?: number): boolean;
51
+ //# sourceMappingURL=analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../src/csp-hoare/analysis.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAS,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKlE;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,SAAI,GAAG,KAAK,EAAE,CAqCzD;AAuBD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,SAAI,GAAG,WAAW,EAAE,CAoCjE;AAwBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAKhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,SAAK,GAAG,OAAO,CAS5D;AAqDD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,SAAI,GAAG,OAAO,CAOlF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,SAAI,GAAG,OAAO,CA8BpF"}