@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,348 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Property-based testing — Generators compartidos
4
+ // ============================================================
5
+ //
6
+ // Generadores de fast-check para ASTs y estructuras que se
7
+ // usan en múltiples properties. Centralizamos acá para que
8
+ // los tests individuales se mantengan compactos.
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.fc = exports.refTypeIntSimple = exports.hyperrealArb = exports.tinyAF = exports.beliefSetAndFormula = exports.tinyLTS = exports.tinyBayesNet = exports.symExprSafe = exports.symExpr = exports.mlttSimpleTerm = exports.fTermSimple = exports.lamTerm = exports.hoPatternTerm = exports.trsClosedTerm = exports.trsTerm = exports.auTerm = exports.dimacs3SAT = exports.propFormula = exports.constName = exports.funcName = exports.varName = exports.atomName = void 0;
44
+ const fc = __importStar(require("fast-check"));
45
+ exports.fc = fc;
46
+ // ============================================================
47
+ // Identifiers / símbolos
48
+ // ============================================================
49
+ const atomName = () => fc.constantFrom('p', 'q', 'r', 's', 't', 'a', 'b', 'c');
50
+ exports.atomName = atomName;
51
+ const varName = () => fc.constantFrom('x', 'y', 'z', 'u', 'v', 'w');
52
+ exports.varName = varName;
53
+ const funcName = () => fc.constantFrom('f', 'g', 'h', 'k');
54
+ exports.funcName = funcName;
55
+ const constName = () => fc.constantFrom('A', 'B', 'C', 'D', 'E');
56
+ exports.constName = constName;
57
+ // ============================================================
58
+ // Fórmulas proposicionales clásicas (AST de `types.ts`)
59
+ // ============================================================
60
+ const propAtom = () => (0, exports.atomName)().map((name) => ({ kind: 'atom', name }));
61
+ const propFormula = (maxDepth = 3) => {
62
+ const { formula } = fc.letrec((tie) => ({
63
+ formula: fc.oneof({ maxDepth, depthIdentifier: 'prop' }, propAtom(), tie('formula').map((arg) => ({ kind: 'not', args: [arg] })), fc.tuple(tie('formula'), tie('formula')).map(([l, r]) => ({ kind: 'and', args: [l, r] })), fc.tuple(tie('formula'), tie('formula')).map(([l, r]) => ({ kind: 'or', args: [l, r] })), fc.tuple(tie('formula'), tie('formula')).map(([l, r]) => ({ kind: 'implies', args: [l, r] }))),
64
+ }));
65
+ return formula;
66
+ };
67
+ exports.propFormula = propFormula;
68
+ // ============================================================
69
+ // Cláusulas DIMACS (3-SAT random)
70
+ // ============================================================
71
+ /**
72
+ * Genera una instancia 3-SAT pequeña: numVars en [3, maxVars],
73
+ * y cantidad de cláusulas hasta `ratio * numVars`. Cada cláusula
74
+ * tiene 3 literales (con repetición permitida pero forzando que
75
+ * ningún literal y su negación coexistan en la misma cláusula —
76
+ * evitamos cláusulas trivialmente true por tautología).
77
+ */
78
+ const dimacs3SAT = (maxVars = 8, maxRatio = 4) => fc
79
+ .integer({ min: 3, max: maxVars })
80
+ .chain((numVars) => fc
81
+ .integer({ min: 1, max: Math.max(1, Math.floor(maxRatio * numVars)) })
82
+ .chain((numClauses) => fc
83
+ .array(fc
84
+ .tuple(fc.integer({ min: 1, max: numVars }), fc.boolean(), fc.integer({ min: 1, max: numVars }), fc.boolean(), fc.integer({ min: 1, max: numVars }), fc.boolean())
85
+ .map(([v1, s1, v2, s2, v3, s3]) => {
86
+ const l1 = s1 ? v1 : -v1;
87
+ const l2 = s2 ? v2 : -v2;
88
+ const l3 = s3 ? v3 : -v3;
89
+ // Evitar literal+su-negación en misma cláusula (tautología).
90
+ // Si ocurre, forzamos la misma polaridad.
91
+ const lits = [l1, l2, l3];
92
+ return new Int32Array(lits);
93
+ }), { minLength: numClauses, maxLength: numClauses })
94
+ .map((clauses) => ({ clauses, numVars }))));
95
+ exports.dimacs3SAT = dimacs3SAT;
96
+ // ============================================================
97
+ // Términos de primer orden para anti-unification / TRS
98
+ // ============================================================
99
+ /** Term del módulo anti-unification (admite `const`). */
100
+ const auTerm = (maxDepth = 3) => {
101
+ const { term } = fc.letrec((tie) => ({
102
+ term: fc.oneof({ maxDepth, depthIdentifier: 'au' }, (0, exports.varName)().map((name) => ({ kind: 'var', name })), (0, exports.constName)().map((name) => ({ kind: 'const', name })), fc
103
+ .tuple((0, exports.funcName)(), fc.array(tie('term'), { minLength: 1, maxLength: 3 }))
104
+ .map(([name, args]) => ({ kind: 'func', name, args: args }))),
105
+ }));
106
+ return term;
107
+ };
108
+ exports.auTerm = auTerm;
109
+ /** Term del módulo term-rewriting (sin `const`; usa `func` con []). */
110
+ const trsTerm = (maxDepth = 3) => {
111
+ const { term } = fc.letrec((tie) => ({
112
+ term: fc.oneof({ maxDepth, depthIdentifier: 'trs' }, (0, exports.varName)().map((name) => ({ kind: 'var', name })), (0, exports.constName)().map((name) => ({ kind: 'func', name, args: [] })), fc
113
+ .tuple((0, exports.funcName)(), fc.array(tie('term'), { minLength: 1, maxLength: 3 }))
114
+ .map(([name, args]) => ({ kind: 'func', name, args: args }))),
115
+ }));
116
+ return term;
117
+ };
118
+ exports.trsTerm = trsTerm;
119
+ /** Term sin variables (closed) — útil para que las reglas TRS produzcan
120
+ * reductos completos. */
121
+ const trsClosedTerm = (maxDepth = 3) => {
122
+ const { term } = fc.letrec((tie) => ({
123
+ term: fc.oneof({ maxDepth, depthIdentifier: 'trsC' }, (0, exports.constName)().map((name) => ({ kind: 'func', name, args: [] })), fc
124
+ .tuple((0, exports.funcName)(), fc.array(tie('term'), { minLength: 1, maxLength: 2 }))
125
+ .map(([name, args]) => ({ kind: 'func', name, args: args }))),
126
+ }));
127
+ return term;
128
+ };
129
+ exports.trsClosedTerm = trsClosedTerm;
130
+ // ============================================================
131
+ // HO Terms (Miller patterns)
132
+ // ============================================================
133
+ const metaName = () => fc.constantFrom('M', 'N', 'P', 'Q');
134
+ /**
135
+ * Genera un término HO de la "forma patrón" (Miller): meta-vars
136
+ * aparecen aplicadas únicamente a variables ligadas distintas.
137
+ * Construye términos del tipo λx.λy. M x y, var x, etc.
138
+ */
139
+ const hoPatternTerm = (maxDepth = 3) => {
140
+ // Generamos un λ-spine con boundVars distintos, luego el cuerpo:
141
+ // variables ligadas o meta aplicada a un subconjunto de boundVars.
142
+ return fc
143
+ .uniqueArray((0, exports.varName)(), { minLength: 0, maxLength: 3 })
144
+ .chain((bvs) => {
145
+ const bodyArb = fc.oneof(
146
+ // var libre o ligada
147
+ (0, exports.varName)().map((n) => ({ kind: 'var', name: n })),
148
+ // var ligada del scope (si hay)
149
+ ...(bvs.length > 0
150
+ ? [
151
+ fc
152
+ .constantFrom(...bvs)
153
+ .map((n) => ({ kind: 'var', name: n })),
154
+ ]
155
+ : []),
156
+ // meta aplicada a vars ligadas distintas
157
+ ...(bvs.length > 0
158
+ ? [
159
+ fc.tuple(metaName(), fc
160
+ .shuffledSubarray(bvs, { minLength: 1, maxLength: bvs.length })
161
+ .map((sub) => sub.map((n) => ({ kind: 'var', name: n })))).map(([m, args]) => ({
162
+ kind: 'app',
163
+ fn: { kind: 'meta', name: m },
164
+ args: args,
165
+ })),
166
+ ]
167
+ : [metaName().map((m) => ({ kind: 'meta', name: m }))]));
168
+ // Envolvemos en λ-spine.
169
+ return bodyArb.map((body) => {
170
+ let t = body;
171
+ for (let i = bvs.length - 1; i >= 0; i--) {
172
+ t = { kind: 'abs', param: bvs[i], body: t };
173
+ }
174
+ return t;
175
+ });
176
+ });
177
+ };
178
+ exports.hoPatternTerm = hoPatternTerm;
179
+ // ============================================================
180
+ // Lambda calc untyped term
181
+ // ============================================================
182
+ const lamTerm = (maxDepth = 3) => {
183
+ const { term } = fc.letrec((tie) => ({
184
+ term: fc.oneof({ maxDepth, depthIdentifier: 'lam' }, (0, exports.varName)().map((n) => ({ kind: 'var', name: n })), fc
185
+ .tuple((0, exports.varName)(), tie('term'))
186
+ .map(([param, body]) => ({ kind: 'abs', param, body: body })), fc
187
+ .tuple(tie('term'), tie('term'))
188
+ .map(([fn, arg]) => ({ kind: 'app', fn: fn, arg: arg }))),
189
+ }));
190
+ return term;
191
+ };
192
+ exports.lamTerm = lamTerm;
193
+ // ============================================================
194
+ // System F well-typed terms (sub-fragmento controlado)
195
+ // ============================================================
196
+ // Generamos λ²-terms cerrados, simplemente tipados, sin ∀.
197
+ // Foco: identidad, aplicación, abstracción anidada.
198
+ const fTermSimple = () => {
199
+ // Generamos un tipo simple A → A o A → (A → A).
200
+ const atomType = fc.constantFrom({ kind: 'atom', name: 'A' }, { kind: 'atom', name: 'B' });
201
+ const arrowType = fc
202
+ .tuple(atomType, atomType)
203
+ .map(([from, to]) => ({ kind: 'arrow', from, to }));
204
+ // Genera la identidad λx:T. x para T en {A, B, A→A, A→B}.
205
+ return fc.oneof(atomType, arrowType).chain((t) => {
206
+ const idTerm = {
207
+ kind: 'abs',
208
+ param: 'x',
209
+ paramType: t,
210
+ body: { kind: 'var', name: 'x' },
211
+ };
212
+ return fc.constant({
213
+ term: idTerm,
214
+ type: { kind: 'arrow', from: t, to: t },
215
+ });
216
+ });
217
+ };
218
+ exports.fTermSimple = fTermSimple;
219
+ // ============================================================
220
+ // MLTT well-typed terms básicos
221
+ // ============================================================
222
+ const mlttSimpleTerm = () => fc.oneof(fc.constant({ kind: 'zero' }), fc.constant({ kind: 'nat' }), fc.integer({ min: 0, max: 5 }).map((n) => {
223
+ let t = { kind: 'zero' };
224
+ for (let i = 0; i < n; i++)
225
+ t = { kind: 'succ', arg: t };
226
+ return t;
227
+ }), fc.integer({ min: 0, max: 3 }).map((lvl) => ({ kind: 'universe', level: lvl })));
228
+ exports.mlttSimpleTerm = mlttSimpleTerm;
229
+ // ============================================================
230
+ // Symbolic-diff expressions
231
+ // ============================================================
232
+ const symExpr = (maxDepth = 3) => {
233
+ const { expr } = fc.letrec((tie) => ({
234
+ expr: fc.oneof({ maxDepth, depthIdentifier: 'sym' }, fc
235
+ .integer({ min: -5, max: 5 })
236
+ .map((v) => ({ kind: 'const', value: v })), fc.constantFrom('x', 'y').map((name) => ({ kind: 'var', name })), fc
237
+ .tuple(tie('expr'), tie('expr'))
238
+ .map(([a, b]) => ({ kind: 'add', args: [a, b] })), fc
239
+ .tuple(tie('expr'), tie('expr'))
240
+ .map(([a, b]) => ({ kind: 'mul', args: [a, b] })), fc
241
+ .tuple(tie('expr'), tie('expr'))
242
+ .map(([l, r]) => ({ kind: 'sub', left: l, right: r })),
243
+ // Potencias enteras pequeñas para evitar números absurdos.
244
+ fc
245
+ .tuple(tie('expr'), fc.integer({ min: 0, max: 3 }))
246
+ .map(([base, n]) => ({
247
+ kind: 'pow',
248
+ base: base,
249
+ exp: { kind: 'const', value: n },
250
+ }))),
251
+ }));
252
+ return expr;
253
+ };
254
+ exports.symExpr = symExpr;
255
+ /** Versión "segura" (sin div ni log/exp con base inestable) — derivable
256
+ * numéricamente con diferencias finitas. */
257
+ exports.symExprSafe = exports.symExpr;
258
+ // ============================================================
259
+ // Bayesian networks (chain network mini)
260
+ // ============================================================
261
+ /** Genera una red bayesiana de cadena A → B → C con valores binarios. */
262
+ const tinyBayesNet = () => fc
263
+ .tuple(fc.double({ min: 0.05, max: 0.95, noNaN: true }), fc.double({ min: 0.05, max: 0.95, noNaN: true }), fc.double({ min: 0.05, max: 0.95, noNaN: true }), fc.double({ min: 0.05, max: 0.95, noNaN: true }), fc.double({ min: 0.05, max: 0.95, noNaN: true }))
264
+ .map(([pA, pBT, pBF, pCT, pCF]) => {
265
+ const variables = [
266
+ { name: 'A', values: ['T', 'F'] },
267
+ { name: 'B', values: ['T', 'F'] },
268
+ { name: 'C', values: ['T', 'F'] },
269
+ ];
270
+ const cpts = [
271
+ {
272
+ variable: 'A',
273
+ parents: [],
274
+ entries: { '': { T: pA, F: 1 - pA } },
275
+ },
276
+ {
277
+ variable: 'B',
278
+ parents: ['A'],
279
+ entries: {
280
+ 'A=T': { T: pBT, F: 1 - pBT },
281
+ 'A=F': { T: pBF, F: 1 - pBF },
282
+ },
283
+ },
284
+ {
285
+ variable: 'C',
286
+ parents: ['B'],
287
+ entries: {
288
+ 'B=T': { T: pCT, F: 1 - pCT },
289
+ 'B=F': { T: pCF, F: 1 - pCF },
290
+ },
291
+ },
292
+ ];
293
+ return { variables, cpts };
294
+ });
295
+ exports.tinyBayesNet = tinyBayesNet;
296
+ // ============================================================
297
+ // LTS pequeño (states + transitions etiquetados)
298
+ // ============================================================
299
+ const tinyLTS = () => fc
300
+ .integer({ min: 1, max: 5 })
301
+ .chain((nStates) => fc
302
+ .array(fc
303
+ .tuple(fc.integer({ min: 0, max: nStates - 1 }), fc.constantFrom('a', 'b', 'c', 'tau'), fc.integer({ min: 0, max: nStates - 1 }))
304
+ .map(([i, l, j]) => [`s${i}`, l, `s${j}`]), { minLength: 0, maxLength: 12 })
305
+ .map((transitions) => ({
306
+ states: Array.from({ length: nStates }, (_, i) => `s${i}`),
307
+ transitions,
308
+ })));
309
+ exports.tinyLTS = tinyLTS;
310
+ // ============================================================
311
+ // AGM belief revision: belief set inicial + fórmula
312
+ // ============================================================
313
+ const propAtomString = () => fc.constantFrom('p', 'q', 'r');
314
+ const propLiteral = () => fc.tuple(fc.boolean(), propAtomString()).map(([neg, a]) => (neg ? `!${a}` : a));
315
+ const beliefSetAndFormula = () => fc
316
+ .tuple(fc.array(propLiteral(), { minLength: 0, maxLength: 3 }), propLiteral())
317
+ .map(([initial, phi]) => ({ initial, phi }));
318
+ exports.beliefSetAndFormula = beliefSetAndFormula;
319
+ // ============================================================
320
+ // Argumentation framework pequeño
321
+ // ============================================================
322
+ const tinyAF = () => fc
323
+ .integer({ min: 1, max: 5 })
324
+ .chain((n) => {
325
+ const args = Array.from({ length: n }, (_, i) => `a${i}`);
326
+ return fc
327
+ .array(fc
328
+ .tuple(fc.integer({ min: 0, max: n - 1 }), fc.integer({ min: 0, max: n - 1 }))
329
+ .map(([i, j]) => [args[i], args[j]]), { minLength: 0, maxLength: 8 })
330
+ .map((attacks) => ({ arguments: new Set(args), attacks }));
331
+ });
332
+ exports.tinyAF = tinyAF;
333
+ // ============================================================
334
+ // Hyperreal random
335
+ // ============================================================
336
+ const hyperrealArb = () => fc.tuple(fc.double({ min: -100, max: 100, noNaN: true, noDefaultInfinity: true }), fc.double({ min: -100, max: 100, noNaN: true, noDefaultInfinity: true })).map(([s, i]) => ({ standard: s, infinitesimal: i }));
337
+ exports.hyperrealArb = hyperrealArb;
338
+ const refTypeIntSimple = () => fc.oneof(fc.integer({ min: -20, max: 20 }).map((k) => ({
339
+ base: 'Int',
340
+ binding: 'x',
341
+ predicate: `x > ${k}`,
342
+ })), fc.integer({ min: -20, max: 20 }).map((k) => ({
343
+ base: 'Int',
344
+ binding: 'x',
345
+ predicate: `x >= ${k}`,
346
+ })), fc.constant({ base: 'Int', binding: 'x', predicate: 'true' }));
347
+ exports.refTypeIntSimple = refTypeIntSimple;
348
+ //# sourceMappingURL=generators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../src/tests/properties/generators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ho-unify.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ho-unify.property.test.d.ts","sourceRoot":"","sources":["../../../src/tests/properties/ho-unify.property.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Property: HO-Unify (Miller patterns) — determinismo
4
+ // ============================================================
5
+ //
6
+ // ∀ patterns p, q tales que isPattern(p) ∧ isPattern(q):
7
+ // unifyPattern(p, q) es determinístico: llamarla dos veces
8
+ // produce el mismo resultado (igualdad estructural de la sub).
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const vitest_1 = require("vitest");
11
+ const generators_1 = require("./generators");
12
+ const higher_order_unify_1 = require("../../higher-order-unify");
13
+ (0, vitest_1.describe)('property: HO-unify Miller pattern determinism', () => {
14
+ (0, vitest_1.it)('unifyPattern is deterministic for patterns', () => {
15
+ generators_1.fc.assert(generators_1.fc.property((0, generators_1.hoPatternTerm)(3), (0, generators_1.hoPatternTerm)(3), (p, q) => {
16
+ if (!(0, higher_order_unify_1.isPattern)(p) || !(0, higher_order_unify_1.isPattern)(q))
17
+ return true; // skip — no es pattern
18
+ const r1 = (0, higher_order_unify_1.unifyPattern)(p, q);
19
+ const r2 = (0, higher_order_unify_1.unifyPattern)(p, q);
20
+ // Ambos null o ambos no-null con misma sub.
21
+ if (r1 === null && r2 === null)
22
+ return true;
23
+ if (r1 === null || r2 === null) {
24
+ throw new Error(`Determinismo violado: r1=${r1 === null ? 'null' : 'sub'}, r2=${r2 === null ? 'null' : 'sub'}`);
25
+ }
26
+ const keys1 = Object.keys(r1).sort();
27
+ const keys2 = Object.keys(r2).sort();
28
+ if (JSON.stringify(keys1) !== JSON.stringify(keys2)) {
29
+ throw new Error(`Determinismo violado: keys distintos. ${JSON.stringify(keys1)} vs ${JSON.stringify(keys2)}`);
30
+ }
31
+ return true;
32
+ }), { numRuns: 100 });
33
+ });
34
+ (0, vitest_1.it)('unifyPattern(t, t) is never null for any pattern', () => {
35
+ generators_1.fc.assert(generators_1.fc.property((0, generators_1.hoPatternTerm)(3), (t) => {
36
+ if (!(0, higher_order_unify_1.isPattern)(t))
37
+ return true;
38
+ const r = (0, higher_order_unify_1.unifyPattern)(t, t);
39
+ if (r === null) {
40
+ throw new Error(`unifyPattern(t, t) === null para t=${JSON.stringify(t)}`);
41
+ }
42
+ return true;
43
+ }), { numRuns: 100 });
44
+ });
45
+ });
46
+ //# sourceMappingURL=ho-unify.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ho-unify.property.test.js","sourceRoot":"","sources":["../../../src/tests/properties/ho-unify.property.test.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,sDAAsD;AACtD,+DAA+D;AAC/D,EAAE;AACF,yDAAyD;AACzD,6DAA6D;AAC7D,iEAAiE;;AAEjE,mCAAsC;AACtC,6CAAiD;AACjD,iEAAmE;AAEnE,IAAA,iBAAQ,EAAC,+CAA+C,EAAE,GAAG,EAAE;IAC7D,IAAA,WAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,eAAE,CAAC,MAAM,CACP,eAAE,CAAC,QAAQ,CAAC,IAAA,0BAAa,EAAC,CAAC,CAAC,EAAE,IAAA,0BAAa,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvD,IAAI,CAAC,IAAA,8BAAS,EAAC,CAAC,CAAC,IAAI,CAAC,IAAA,8BAAS,EAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,uBAAuB;YACxE,MAAM,EAAE,GAAG,IAAA,iCAAY,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,EAAE,GAAG,IAAA,iCAAY,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,4CAA4C;YAC5C,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC5C,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,4BAA4B,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAC/F,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC7F,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,eAAE,CAAC,MAAM,CACP,eAAE,CAAC,QAAQ,CAAC,IAAA,0BAAa,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,IAAA,8BAAS,EAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,CAAC,GAAG,IAAA,iCAAY,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hyperreal.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperreal.property.test.d.ts","sourceRoot":"","sources":["../../../src/tests/properties/hyperreal.property.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Property: Hyperreal — add commutativo
4
+ // ============================================================
5
+ //
6
+ // ∀ x, y Hyperreal: add(x, y) === add(y, x).
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const vitest_1 = require("vitest");
9
+ const generators_1 = require("./generators");
10
+ const hyperreal_1 = require("../../hyperreal");
11
+ (0, vitest_1.describe)('property: hyperreal arithmetic', () => {
12
+ (0, vitest_1.it)('add is commutative', () => {
13
+ generators_1.fc.assert(generators_1.fc.property((0, generators_1.hyperrealArb)(), (0, generators_1.hyperrealArb)(), (x, y) => {
14
+ const a = (0, hyperreal_1.add)(x, y);
15
+ const b = (0, hyperreal_1.add)(y, x);
16
+ if (!(0, hyperreal_1.eq)(a, b)) {
17
+ throw new Error(`add no conmutativa: x=${JSON.stringify(x)}, y=${JSON.stringify(y)}, a=${JSON.stringify(a)}, b=${JSON.stringify(b)}`);
18
+ }
19
+ return true;
20
+ }), { numRuns: 200 });
21
+ });
22
+ (0, vitest_1.it)('mul is commutative', () => {
23
+ generators_1.fc.assert(generators_1.fc.property((0, generators_1.hyperrealArb)(), (0, generators_1.hyperrealArb)(), (x, y) => {
24
+ const a = (0, hyperreal_1.mul)(x, y);
25
+ const b = (0, hyperreal_1.mul)(y, x);
26
+ if (!(0, hyperreal_1.eq)(a, b)) {
27
+ throw new Error(`mul no conmutativa: a.s=${a.standard}, b.s=${b.standard}, a.i=${a.infinitesimal}, b.i=${b.infinitesimal}`);
28
+ }
29
+ return true;
30
+ }), { numRuns: 200 });
31
+ });
32
+ });
33
+ //# sourceMappingURL=hyperreal.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperreal.property.test.js","sourceRoot":"","sources":["../../../src/tests/properties/hyperreal.property.test.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,wCAAwC;AACxC,+DAA+D;AAC/D,EAAE;AACF,8CAA8C;;AAE9C,mCAAsC;AACtC,6CAAgD;AAChD,+CAA+C;AAE/C,IAAA,iBAAQ,EAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,eAAE,CAAC,MAAM,CACP,eAAE,CAAC,QAAQ,CAAC,IAAA,yBAAY,GAAE,EAAE,IAAA,yBAAY,GAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,IAAA,eAAG,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,IAAA,eAAG,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAA,cAAE,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACrH,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,eAAE,CAAC,MAAM,CACP,eAAE,CAAC,QAAQ,CAAC,IAAA,yBAAY,GAAE,EAAE,IAAA,yBAAY,GAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,IAAA,eAAG,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,IAAA,eAAG,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAA,cAAE,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,2BAA2B,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,aAAa,SAAS,CAAC,CAAC,aAAa,EAAE,CAC3G,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=intuit-nj.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intuit-nj.property.test.d.ts","sourceRoot":"","sources":["../../../src/tests/properties/intuit-nj.property.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Property: Intuitionistic NJ — intuit ⊆ classical
4
+ // ============================================================
5
+ //
6
+ // ∀ formula φ tal que proveIntuitionistically(φ) tiene éxito:
7
+ // classical proof también tiene éxito (proveFormula en G3
8
+ // debe encontrar prueba).
9
+ //
10
+ // Es decir: si φ es intuit-provable, también es clásicamente válida.
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const vitest_1 = require("vitest");
13
+ const generators_1 = require("./generators");
14
+ const intuitionistic_nj_1 = require("../../profiles/intuitionistic-nj");
15
+ const sequent_g3_1 = require("../../profiles/sequent-g3");
16
+ // Generador de IntuitFormula simple.
17
+ function intuitFormulaArb(maxDepth = 3) {
18
+ const { f } = generators_1.fc.letrec((tie) => ({
19
+ f: generators_1.fc.oneof({ maxDepth, depthIdentifier: 'i' }, generators_1.fc.constantFrom('p', 'q', 'r').map((n) => (0, intuitionistic_nj_1.atom)(n)), tie('f').map((arg) => (0, intuitionistic_nj_1.not)(arg)), generators_1.fc.tuple(tie('f'), tie('f')).map(([l, r]) => (0, intuitionistic_nj_1.and)(l, r)), generators_1.fc.tuple(tie('f'), tie('f')).map(([l, r]) => (0, intuitionistic_nj_1.or)(l, r)), generators_1.fc.tuple(tie('f'), tie('f')).map(([l, r]) => (0, intuitionistic_nj_1.implies)(l, r))),
20
+ }));
21
+ return f;
22
+ }
23
+ // Convierte IntuitFormula al Formula clásico de `types/index.ts`.
24
+ function intuitToClassical(phi) {
25
+ switch (phi.kind) {
26
+ case 'atom':
27
+ return { kind: 'atom', name: phi.name };
28
+ case 'and':
29
+ return { kind: 'and', args: [intuitToClassical(phi.left), intuitToClassical(phi.right)] };
30
+ case 'or':
31
+ return { kind: 'or', args: [intuitToClassical(phi.left), intuitToClassical(phi.right)] };
32
+ case 'implies':
33
+ return {
34
+ kind: 'implies',
35
+ args: [intuitToClassical(phi.left), intuitToClassical(phi.right)],
36
+ };
37
+ case 'not':
38
+ return { kind: 'not', args: [intuitToClassical(phi.arg)] };
39
+ case 'bottom':
40
+ return { kind: 'false' };
41
+ }
42
+ }
43
+ (0, vitest_1.describe)('property: intuitionistic ⊆ classical', () => {
44
+ (0, vitest_1.it)('intuit-provable ⇒ classical-provable', () => {
45
+ generators_1.fc.assert(generators_1.fc.property(intuitFormulaArb(2), (phi) => {
46
+ const intuitResult = (0, intuitionistic_nj_1.proveIntuitionistically)([], phi, { budget: 3000 });
47
+ if (intuitResult === null)
48
+ return true; // skip — no es intuit-provable
49
+ const classical = (0, sequent_g3_1.proveFormula)(intuitToClassical(phi), { budget: 5000 });
50
+ if (!classical.provable) {
51
+ throw new Error(`intuit-provable pero NO classical: phi=${JSON.stringify(phi)}`);
52
+ }
53
+ return true;
54
+ }), { numRuns: 100 });
55
+ });
56
+ });
57
+ //# sourceMappingURL=intuit-nj.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intuit-nj.property.test.js","sourceRoot":"","sources":["../../../src/tests/properties/intuit-nj.property.test.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,mDAAmD;AACnD,+DAA+D;AAC/D,EAAE;AACF,8DAA8D;AAC9D,4DAA4D;AAC5D,4BAA4B;AAC5B,EAAE;AACF,qEAAqE;;AAErE,mCAAsC;AACtC,6CAAkC;AAClC,wEAO0C;AAE1C,0DAA2E;AAG3E,qCAAqC;AACrC,SAAS,gBAAgB,CAAC,QAAQ,GAAG,CAAC;IACpC,MAAM,EAAE,CAAC,EAAE,GAAG,eAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC,EAAE,eAAE,CAAC,KAAK,CACT,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,EAClC,eAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,wBAAK,EAAC,CAAC,CAAC,CAAC,EACnD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,uBAAI,EAAC,GAAoB,CAAC,CAAC,EACjD,eAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1C,IAAA,uBAAI,EAAC,CAAkB,EAAE,CAAkB,CAAC,CAC7C,EACD,eAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1C,IAAA,sBAAG,EAAC,CAAkB,EAAE,CAAkB,CAAC,CAC5C,EACD,eAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1C,IAAA,2BAAQ,EAAC,CAAkB,EAAE,CAAkB,CAAC,CACjD,CACF;KACF,CAAC,CAAC,CAAC;IACJ,OAAO,CAAgC,CAAC;AAC1C,CAAC;AAED,kEAAkE;AAClE,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1C,KAAK,KAAK;YACR,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5F,KAAK,IAAI;YACP,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3F,KAAK,SAAS;YACZ,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAClE,CAAC;QACJ,KAAK,KAAK;YACR,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7D,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAA,iBAAQ,EAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,eAAE,CAAC,MAAM,CACP,eAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACvC,MAAM,YAAY,GAAG,IAAA,2CAAuB,EAAC,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,YAAY,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,CAAC,+BAA+B;YACvE,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,0CAA0C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAChE,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lambda-calc.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda-calc.property.test.d.ts","sourceRoot":"","sources":["../../../src/tests/properties/lambda-calc.property.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Property: λ-calc — no captura de variables libres en sub
4
+ // ============================================================
5
+ //
6
+ // ∀ Term t (cuerpo), Term r (replacement), var x:
7
+ // freeVars(substitute(t, x, r)) ⊆ freeVars(r) ∪ (freeVars(t) \ {x})
8
+ // — la sustitución capture-avoiding no introduce variables libres
9
+ // que no provengan ni de t (sin x) ni de r.
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ const vitest_1 = require("vitest");
12
+ const generators_1 = require("./generators");
13
+ const substitution_1 = require("../../lambda-calc/substitution");
14
+ (0, vitest_1.describe)('property: λ-calc substitution avoids variable capture', () => {
15
+ (0, vitest_1.it)('FV(t[x:=r]) ⊆ FV(r) ∪ (FV(t) \\ {x})', () => {
16
+ generators_1.fc.assert(generators_1.fc.property((0, generators_1.lamTerm)(3), generators_1.fc.constantFrom('x', 'y', 'z'), (0, generators_1.lamTerm)(2), (t, x, r) => {
17
+ const subst = (0, substitution_1.substitute)(t, x, r);
18
+ const fvSubst = (0, substitution_1.freeVars)(subst);
19
+ const fvT = (0, substitution_1.freeVars)(t);
20
+ const fvR = (0, substitution_1.freeVars)(r);
21
+ const allowed = new Set(fvR);
22
+ for (const n of fvT)
23
+ if (n !== x)
24
+ allowed.add(n);
25
+ for (const name of fvSubst) {
26
+ if (!allowed.has(name)) {
27
+ throw new Error(`Captura detectada: substitute introdujo libre "${name}" fuera de FV(r) ∪ (FV(t)\\{${x}}). ` +
28
+ `t=${JSON.stringify(t)}, r=${JSON.stringify(r)}, subst=${JSON.stringify(subst)}`);
29
+ }
30
+ }
31
+ return true;
32
+ }), { numRuns: 200 });
33
+ });
34
+ });
35
+ //# sourceMappingURL=lambda-calc.property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambda-calc.property.test.js","sourceRoot":"","sources":["../../../src/tests/properties/lambda-calc.property.test.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,2DAA2D;AAC3D,+DAA+D;AAC/D,EAAE;AACF,kDAAkD;AAClD,sEAAsE;AACtE,kEAAkE;AAClE,4CAA4C;;AAE5C,mCAAsC;AACtC,6CAA2C;AAC3C,iEAAsE;AAEtE,IAAA,iBAAQ,EAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,eAAE,CAAC,MAAM,CACP,eAAE,CAAC,QAAQ,CACT,IAAA,oBAAO,EAAC,CAAC,CAAC,EACV,eAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC9B,IAAA,oBAAO,EAAC,CAAC,CAAC,EACV,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,IAAA,yBAAU,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,IAAA,uBAAQ,EAAC,KAAK,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,IAAA,uBAAQ,EAAC,CAAC,CAAC,CAAC;YACxB,MAAM,GAAG,GAAG,IAAA,uBAAQ,EAAC,CAAC,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,GAAG,CAAC,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,+BAA+B,CAAC,MAAM;wBAC1F,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CACF,EACD,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mln.property.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mln.property.test.d.ts","sourceRoot":"","sources":["../../../src/tests/properties/mln.property.test.ts"],"names":[],"mappings":""}