@stevenvo780/st-lang 4.3.0 → 4.4.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 (307) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +36 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/lambda-calc/church.d.ts.map +1 -1
  6. package/dist/lambda-calc/church.js.map +1 -1
  7. package/dist/lambda-calc/combinators.d.ts.map +1 -1
  8. package/dist/lambda-calc/combinators.js.map +1 -1
  9. package/dist/lambda-calc/index.d.ts +1 -1
  10. package/dist/lambda-calc/index.d.ts.map +1 -1
  11. package/dist/lambda-calc/index.js.map +1 -1
  12. package/dist/mltt/equality.d.ts +9 -0
  13. package/dist/mltt/equality.d.ts.map +1 -0
  14. package/dist/mltt/equality.js +79 -0
  15. package/dist/mltt/equality.js.map +1 -0
  16. package/dist/mltt/index.d.ts +8 -0
  17. package/dist/mltt/index.d.ts.map +1 -0
  18. package/dist/mltt/index.js +49 -0
  19. package/dist/mltt/index.js.map +1 -0
  20. package/dist/mltt/infer.d.ts +17 -0
  21. package/dist/mltt/infer.d.ts.map +1 -0
  22. package/dist/mltt/infer.js +269 -0
  23. package/dist/mltt/infer.js.map +1 -0
  24. package/dist/mltt/normalize.d.ts +7 -0
  25. package/dist/mltt/normalize.d.ts.map +1 -0
  26. package/dist/mltt/normalize.js +131 -0
  27. package/dist/mltt/normalize.js.map +1 -0
  28. package/dist/mltt/substitute.d.ts +4 -0
  29. package/dist/mltt/substitute.d.ts.map +1 -0
  30. package/dist/mltt/substitute.js +94 -0
  31. package/dist/mltt/substitute.js.map +1 -0
  32. package/dist/mltt/types.d.ts +72 -0
  33. package/dist/mltt/types.d.ts.map +1 -0
  34. package/dist/mltt/types.js +211 -0
  35. package/dist/mltt/types.js.map +1 -0
  36. package/dist/profiles/many-valued/index.d.ts.map +1 -1
  37. package/dist/profiles/many-valued/index.js.map +1 -1
  38. package/dist/profiles/mu-calculus/check.d.ts +15 -0
  39. package/dist/profiles/mu-calculus/check.d.ts.map +1 -0
  40. package/dist/profiles/mu-calculus/check.js +172 -0
  41. package/dist/profiles/mu-calculus/check.js.map +1 -0
  42. package/dist/profiles/mu-calculus/ctl-translate.d.ts +61 -0
  43. package/dist/profiles/mu-calculus/ctl-translate.d.ts.map +1 -0
  44. package/dist/profiles/mu-calculus/ctl-translate.js +181 -0
  45. package/dist/profiles/mu-calculus/ctl-translate.js.map +1 -0
  46. package/dist/profiles/mu-calculus/index.d.ts +7 -0
  47. package/dist/profiles/mu-calculus/index.d.ts.map +1 -0
  48. package/dist/profiles/mu-calculus/index.js +33 -0
  49. package/dist/profiles/mu-calculus/index.js.map +1 -0
  50. package/dist/profiles/mu-calculus/types.d.ts +51 -0
  51. package/dist/profiles/mu-calculus/types.d.ts.map +1 -0
  52. package/dist/profiles/mu-calculus/types.js +42 -0
  53. package/dist/profiles/mu-calculus/types.js.map +1 -0
  54. package/dist/profiles/mu-calculus/wellformed.d.ts +40 -0
  55. package/dist/profiles/mu-calculus/wellformed.d.ts.map +1 -0
  56. package/dist/profiles/mu-calculus/wellformed.js +160 -0
  57. package/dist/profiles/mu-calculus/wellformed.js.map +1 -0
  58. package/dist/profiles/sequent-lk/cut-elimination.d.ts +11 -0
  59. package/dist/profiles/sequent-lk/cut-elimination.d.ts.map +1 -0
  60. package/dist/profiles/sequent-lk/cut-elimination.js +216 -0
  61. package/dist/profiles/sequent-lk/cut-elimination.js.map +1 -0
  62. package/dist/profiles/sequent-lk/index.d.ts +5 -0
  63. package/dist/profiles/sequent-lk/index.d.ts.map +1 -0
  64. package/dist/profiles/sequent-lk/index.js +24 -0
  65. package/dist/profiles/sequent-lk/index.js.map +1 -0
  66. package/dist/profiles/sequent-lk/prover.d.ts +25 -0
  67. package/dist/profiles/sequent-lk/prover.d.ts.map +1 -0
  68. package/dist/profiles/sequent-lk/prover.js +532 -0
  69. package/dist/profiles/sequent-lk/prover.js.map +1 -0
  70. package/dist/profiles/sequent-lk/types.d.ts +55 -0
  71. package/dist/profiles/sequent-lk/types.d.ts.map +1 -0
  72. package/dist/profiles/sequent-lk/types.js +18 -0
  73. package/dist/profiles/sequent-lk/types.js.map +1 -0
  74. package/dist/profiles/sequent-lk/util.d.ts +18 -0
  75. package/dist/profiles/sequent-lk/util.d.ts.map +1 -0
  76. package/dist/profiles/sequent-lk/util.js +71 -0
  77. package/dist/profiles/sequent-lk/util.js.map +1 -0
  78. package/dist/refinement-types/checker.d.ts +19 -0
  79. package/dist/refinement-types/checker.d.ts.map +1 -0
  80. package/dist/refinement-types/checker.js +248 -0
  81. package/dist/refinement-types/checker.js.map +1 -0
  82. package/dist/refinement-types/index.d.ts +11 -0
  83. package/dist/refinement-types/index.d.ts.map +1 -0
  84. package/dist/refinement-types/index.js +51 -0
  85. package/dist/refinement-types/index.js.map +1 -0
  86. package/dist/refinement-types/predicate.d.ts +31 -0
  87. package/dist/refinement-types/predicate.d.ts.map +1 -0
  88. package/dist/refinement-types/predicate.js +369 -0
  89. package/dist/refinement-types/predicate.js.map +1 -0
  90. package/dist/refinement-types/solver.d.ts +24 -0
  91. package/dist/refinement-types/solver.d.ts.map +1 -0
  92. package/dist/refinement-types/solver.js +207 -0
  93. package/dist/refinement-types/solver.js.map +1 -0
  94. package/dist/refinement-types/subtype.d.ts +14 -0
  95. package/dist/refinement-types/subtype.d.ts.map +1 -0
  96. package/dist/refinement-types/subtype.js +39 -0
  97. package/dist/refinement-types/subtype.js.map +1 -0
  98. package/dist/refinement-types/types.d.ts +64 -0
  99. package/dist/refinement-types/types.d.ts.map +1 -0
  100. package/dist/refinement-types/types.js +130 -0
  101. package/dist/refinement-types/types.js.map +1 -0
  102. package/dist/runtime/anti-unification/anti-unify.d.ts +22 -0
  103. package/dist/runtime/anti-unification/anti-unify.d.ts.map +1 -0
  104. package/dist/runtime/anti-unification/anti-unify.js +154 -0
  105. package/dist/runtime/anti-unification/anti-unify.js.map +1 -0
  106. package/dist/runtime/anti-unification/index.d.ts +6 -0
  107. package/dist/runtime/anti-unification/index.d.ts.map +1 -0
  108. package/dist/runtime/anti-unification/index.js +23 -0
  109. package/dist/runtime/anti-unification/index.js.map +1 -0
  110. package/dist/runtime/anti-unification/many.d.ts +49 -0
  111. package/dist/runtime/anti-unification/many.d.ts.map +1 -0
  112. package/dist/runtime/anti-unification/many.js +185 -0
  113. package/dist/runtime/anti-unification/many.js.map +1 -0
  114. package/dist/runtime/anti-unification/term-utils.d.ts +40 -0
  115. package/dist/runtime/anti-unification/term-utils.d.ts.map +1 -0
  116. package/dist/runtime/anti-unification/term-utils.js +173 -0
  117. package/dist/runtime/anti-unification/term-utils.js.map +1 -0
  118. package/dist/runtime/anti-unification/types.d.ts +41 -0
  119. package/dist/runtime/anti-unification/types.d.ts.map +1 -0
  120. package/dist/runtime/anti-unification/types.js +26 -0
  121. package/dist/runtime/anti-unification/types.js.map +1 -0
  122. package/dist/runtime/csp/ac3.d.ts +20 -0
  123. package/dist/runtime/csp/ac3.d.ts.map +1 -0
  124. package/dist/runtime/csp/ac3.js +165 -0
  125. package/dist/runtime/csp/ac3.js.map +1 -0
  126. package/dist/runtime/csp/backtrack.d.ts +15 -0
  127. package/dist/runtime/csp/backtrack.d.ts.map +1 -0
  128. package/dist/runtime/csp/backtrack.js +233 -0
  129. package/dist/runtime/csp/backtrack.js.map +1 -0
  130. package/dist/runtime/csp/builtins.d.ts +27 -0
  131. package/dist/runtime/csp/builtins.d.ts.map +1 -0
  132. package/dist/runtime/csp/builtins.js +109 -0
  133. package/dist/runtime/csp/builtins.js.map +1 -0
  134. package/dist/runtime/csp/index.d.ts +5 -0
  135. package/dist/runtime/csp/index.d.ts.map +1 -0
  136. package/dist/runtime/csp/index.js +23 -0
  137. package/dist/runtime/csp/index.js.map +1 -0
  138. package/dist/runtime/csp/types.d.ts +54 -0
  139. package/dist/runtime/csp/types.d.ts.map +1 -0
  140. package/dist/runtime/csp/types.js +14 -0
  141. package/dist/runtime/csp/types.js.map +1 -0
  142. package/dist/runtime/markov-logic/grounding.d.ts +19 -0
  143. package/dist/runtime/markov-logic/grounding.d.ts.map +1 -0
  144. package/dist/runtime/markov-logic/grounding.js +252 -0
  145. package/dist/runtime/markov-logic/grounding.js.map +1 -0
  146. package/dist/runtime/markov-logic/index.d.ts +6 -0
  147. package/dist/runtime/markov-logic/index.d.ts.map +1 -0
  148. package/dist/runtime/markov-logic/index.js +47 -0
  149. package/dist/runtime/markov-logic/index.js.map +1 -0
  150. package/dist/runtime/markov-logic/inference.d.ts +77 -0
  151. package/dist/runtime/markov-logic/inference.d.ts.map +1 -0
  152. package/dist/runtime/markov-logic/inference.js +382 -0
  153. package/dist/runtime/markov-logic/inference.js.map +1 -0
  154. package/dist/runtime/markov-logic/parser.d.ts +25 -0
  155. package/dist/runtime/markov-logic/parser.d.ts.map +1 -0
  156. package/dist/runtime/markov-logic/parser.js +264 -0
  157. package/dist/runtime/markov-logic/parser.js.map +1 -0
  158. package/dist/runtime/markov-logic/types.d.ts +64 -0
  159. package/dist/runtime/markov-logic/types.d.ts.map +1 -0
  160. package/dist/runtime/markov-logic/types.js +17 -0
  161. package/dist/runtime/markov-logic/types.js.map +1 -0
  162. package/dist/runtime/pi-calculus/congruence.d.ts +15 -0
  163. package/dist/runtime/pi-calculus/congruence.d.ts.map +1 -0
  164. package/dist/runtime/pi-calculus/congruence.js +271 -0
  165. package/dist/runtime/pi-calculus/congruence.js.map +1 -0
  166. package/dist/runtime/pi-calculus/index.d.ts +6 -0
  167. package/dist/runtime/pi-calculus/index.d.ts.map +1 -0
  168. package/dist/runtime/pi-calculus/index.js +30 -0
  169. package/dist/runtime/pi-calculus/index.js.map +1 -0
  170. package/dist/runtime/pi-calculus/names.d.ts +28 -0
  171. package/dist/runtime/pi-calculus/names.d.ts.map +1 -0
  172. package/dist/runtime/pi-calculus/names.js +182 -0
  173. package/dist/runtime/pi-calculus/names.js.map +1 -0
  174. package/dist/runtime/pi-calculus/reduction.d.ts +25 -0
  175. package/dist/runtime/pi-calculus/reduction.d.ts.map +1 -0
  176. package/dist/runtime/pi-calculus/reduction.js +338 -0
  177. package/dist/runtime/pi-calculus/reduction.js.map +1 -0
  178. package/dist/runtime/pi-calculus/substitution.d.ts +11 -0
  179. package/dist/runtime/pi-calculus/substitution.d.ts.map +1 -0
  180. package/dist/runtime/pi-calculus/substitution.js +109 -0
  181. package/dist/runtime/pi-calculus/substitution.js.map +1 -0
  182. package/dist/runtime/pi-calculus/types.d.ts +38 -0
  183. package/dist/runtime/pi-calculus/types.d.ts.map +1 -0
  184. package/dist/runtime/pi-calculus/types.js +22 -0
  185. package/dist/runtime/pi-calculus/types.js.map +1 -0
  186. package/dist/runtime/planning/astar.d.ts +10 -0
  187. package/dist/runtime/planning/astar.d.ts.map +1 -0
  188. package/dist/runtime/planning/astar.js +155 -0
  189. package/dist/runtime/planning/astar.js.map +1 -0
  190. package/dist/runtime/planning/bfs.d.ts +17 -0
  191. package/dist/runtime/planning/bfs.d.ts.map +1 -0
  192. package/dist/runtime/planning/bfs.js +87 -0
  193. package/dist/runtime/planning/bfs.js.map +1 -0
  194. package/dist/runtime/planning/ground.d.ts +55 -0
  195. package/dist/runtime/planning/ground.d.ts.map +1 -0
  196. package/dist/runtime/planning/ground.js +154 -0
  197. package/dist/runtime/planning/ground.js.map +1 -0
  198. package/dist/runtime/planning/heuristic.d.ts +29 -0
  199. package/dist/runtime/planning/heuristic.d.ts.map +1 -0
  200. package/dist/runtime/planning/heuristic.js +172 -0
  201. package/dist/runtime/planning/heuristic.js.map +1 -0
  202. package/dist/runtime/planning/index.d.ts +6 -0
  203. package/dist/runtime/planning/index.d.ts.map +1 -0
  204. package/dist/runtime/planning/index.js +38 -0
  205. package/dist/runtime/planning/index.js.map +1 -0
  206. package/dist/runtime/planning/types.d.ts +100 -0
  207. package/dist/runtime/planning/types.d.ts.map +1 -0
  208. package/dist/runtime/planning/types.js +22 -0
  209. package/dist/runtime/planning/types.js.map +1 -0
  210. package/dist/runtime/symbolic-diff/differentiate.d.ts.map +1 -1
  211. package/dist/runtime/symbolic-diff/differentiate.js.map +1 -1
  212. package/dist/runtime/symbolic-diff/index.d.ts +1 -1
  213. package/dist/runtime/symbolic-diff/index.d.ts.map +1 -1
  214. package/dist/runtime/symbolic-diff/index.js.map +1 -1
  215. package/dist/runtime/symbolic-diff/parse.d.ts.map +1 -1
  216. package/dist/runtime/symbolic-diff/parse.js +7 -1
  217. package/dist/runtime/symbolic-diff/parse.js.map +1 -1
  218. package/dist/runtime/theorem-cache/cache.d.ts +100 -0
  219. package/dist/runtime/theorem-cache/cache.d.ts.map +1 -0
  220. package/dist/runtime/theorem-cache/cache.js +213 -0
  221. package/dist/runtime/theorem-cache/cache.js.map +1 -0
  222. package/dist/runtime/theorem-cache/canonical.d.ts +59 -0
  223. package/dist/runtime/theorem-cache/canonical.d.ts.map +1 -0
  224. package/dist/runtime/theorem-cache/canonical.js +105 -0
  225. package/dist/runtime/theorem-cache/canonical.js.map +1 -0
  226. package/dist/runtime/theorem-cache/index.d.ts +6 -0
  227. package/dist/runtime/theorem-cache/index.d.ts.map +1 -0
  228. package/dist/runtime/theorem-cache/index.js +16 -0
  229. package/dist/runtime/theorem-cache/index.js.map +1 -0
  230. package/dist/runtime/theorem-cache/pattern.d.ts +24 -0
  231. package/dist/runtime/theorem-cache/pattern.d.ts.map +1 -0
  232. package/dist/runtime/theorem-cache/pattern.js +80 -0
  233. package/dist/runtime/theorem-cache/pattern.js.map +1 -0
  234. package/dist/system-f/index.d.ts +7 -0
  235. package/dist/system-f/index.d.ts.map +1 -0
  236. package/dist/system-f/index.js +48 -0
  237. package/dist/system-f/index.js.map +1 -0
  238. package/dist/system-f/infer.d.ts +9 -0
  239. package/dist/system-f/infer.d.ts.map +1 -0
  240. package/dist/system-f/infer.js +94 -0
  241. package/dist/system-f/infer.js.map +1 -0
  242. package/dist/system-f/reduce.d.ts +15 -0
  243. package/dist/system-f/reduce.d.ts.map +1 -0
  244. package/dist/system-f/reduce.js +259 -0
  245. package/dist/system-f/reduce.js.map +1 -0
  246. package/dist/system-f/types.d.ts +53 -0
  247. package/dist/system-f/types.d.ts.map +1 -0
  248. package/dist/system-f/types.js +157 -0
  249. package/dist/system-f/types.js.map +1 -0
  250. package/dist/tests/anti-unification/anti-unify.test.d.ts +2 -0
  251. package/dist/tests/anti-unification/anti-unify.test.d.ts.map +1 -0
  252. package/dist/tests/anti-unification/anti-unify.test.js +219 -0
  253. package/dist/tests/anti-unification/anti-unify.test.js.map +1 -0
  254. package/dist/tests/coverage-fill-aristotelian.test.js +1 -1
  255. package/dist/tests/coverage-fill-aristotelian.test.js.map +1 -1
  256. package/dist/tests/coverage-fill-fallacies.test.js +1 -1
  257. package/dist/tests/coverage-fill-fallacies.test.js.map +1 -1
  258. package/dist/tests/coverage-fill-format.test.js +1 -1
  259. package/dist/tests/coverage-fill-format.test.js.map +1 -1
  260. package/dist/tests/coverage-fill-intuitionistic.test.js +1 -1
  261. package/dist/tests/coverage-fill-intuitionistic.test.js.map +1 -1
  262. package/dist/tests/coverage-fill-probabilistic.test.js +1 -1
  263. package/dist/tests/coverage-fill-probabilistic.test.js.map +1 -1
  264. package/dist/tests/csp/csp.test.d.ts +2 -0
  265. package/dist/tests/csp/csp.test.d.ts.map +1 -0
  266. package/dist/tests/csp/csp.test.js +292 -0
  267. package/dist/tests/csp/csp.test.js.map +1 -0
  268. package/dist/tests/lambda-calc/lambda-calc.test.js.map +1 -1
  269. package/dist/tests/many-valued/many-valued.test.js.map +1 -1
  270. package/dist/tests/markov-logic/markov-logic.test.d.ts +2 -0
  271. package/dist/tests/markov-logic/markov-logic.test.d.ts.map +1 -0
  272. package/dist/tests/markov-logic/markov-logic.test.js +349 -0
  273. package/dist/tests/markov-logic/markov-logic.test.js.map +1 -0
  274. package/dist/tests/mltt/mltt.test.d.ts +2 -0
  275. package/dist/tests/mltt/mltt.test.d.ts.map +1 -0
  276. package/dist/tests/mltt/mltt.test.js +181 -0
  277. package/dist/tests/mltt/mltt.test.js.map +1 -0
  278. package/dist/tests/mu-calculus/check.test.d.ts +2 -0
  279. package/dist/tests/mu-calculus/check.test.d.ts.map +1 -0
  280. package/dist/tests/mu-calculus/check.test.js +234 -0
  281. package/dist/tests/mu-calculus/check.test.js.map +1 -0
  282. package/dist/tests/pi-calculus/pi-calculus.test.d.ts +2 -0
  283. package/dist/tests/pi-calculus/pi-calculus.test.d.ts.map +1 -0
  284. package/dist/tests/pi-calculus/pi-calculus.test.js +273 -0
  285. package/dist/tests/pi-calculus/pi-calculus.test.js.map +1 -0
  286. package/dist/tests/planning/planning.test.d.ts +2 -0
  287. package/dist/tests/planning/planning.test.d.ts.map +1 -0
  288. package/dist/tests/planning/planning.test.js +397 -0
  289. package/dist/tests/planning/planning.test.js.map +1 -0
  290. package/dist/tests/refinement-types/refinement-types.test.d.ts +2 -0
  291. package/dist/tests/refinement-types/refinement-types.test.d.ts.map +1 -0
  292. package/dist/tests/refinement-types/refinement-types.test.js +174 -0
  293. package/dist/tests/refinement-types/refinement-types.test.js.map +1 -0
  294. package/dist/tests/sequent-lk/prover.test.d.ts +2 -0
  295. package/dist/tests/sequent-lk/prover.test.d.ts.map +1 -0
  296. package/dist/tests/sequent-lk/prover.test.js +317 -0
  297. package/dist/tests/sequent-lk/prover.test.js.map +1 -0
  298. package/dist/tests/symbolic-diff/symbolic-diff.test.js.map +1 -1
  299. package/dist/tests/system-f/system-f.test.d.ts +2 -0
  300. package/dist/tests/system-f/system-f.test.d.ts.map +1 -0
  301. package/dist/tests/system-f/system-f.test.js +217 -0
  302. package/dist/tests/system-f/system-f.test.js.map +1 -0
  303. package/dist/tests/theorem-cache/cache.test.d.ts +2 -0
  304. package/dist/tests/theorem-cache/cache.test.d.ts.map +1 -0
  305. package/dist/tests/theorem-cache/cache.test.js +510 -0
  306. package/dist/tests/theorem-cache/cache.test.js.map +1 -0
  307. package/package.json +1 -1
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // System F — Polymorphic lambda calculus (λ²)
4
+ // ============================================================
5
+ //
6
+ // Extiende el λ-cálculo simplemente tipado con cuantificación
7
+ // universal sobre tipos:
8
+ //
9
+ // T ::= X | T → T | ∀X. T
10
+ // t ::= x | λx:T. t | t t | Λ X. t | t [T]
11
+ //
12
+ // Curry-Howard: corresponde a la lógica proposicional intuicionista
13
+ // de segundo orden (cuantificación sobre proposiciones).
14
+ //
15
+ // Convenciones:
16
+ // - Variables de término: minúsculas (x, y, f).
17
+ // - Variables de tipo: mayúsculas convencionalmente (X, Y, Z), pero
18
+ // no impuestas — `atom('foo')` también es legal.
19
+ // - Λ usa `tabs` (type-abstraction); t [T] usa `tapp`.
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.fTApp = exports.fTAbs = exports.fApp = exports.fAbs = exports.fVar = exports.fForall = exports.fArrow = exports.fAtom = void 0;
22
+ exports.freeTypeVars = freeTypeVars;
23
+ exports.alphaEqType = alphaEqType;
24
+ exports.isWellFormed = isWellFormed;
25
+ exports.fTypeToString = fTypeToString;
26
+ exports.fTermToString = fTermToString;
27
+ exports.emptyContext = emptyContext;
28
+ exports.cloneContext = cloneContext;
29
+ // ---------- Constructores convenientes ----------
30
+ const fAtom = (name) => ({ kind: 'atom', name });
31
+ exports.fAtom = fAtom;
32
+ const fArrow = (from, to) => ({ kind: 'arrow', from, to });
33
+ exports.fArrow = fArrow;
34
+ const fForall = (bind, body) => ({ kind: 'forall', bind, body });
35
+ exports.fForall = fForall;
36
+ const fVar = (name) => ({ kind: 'var', name });
37
+ exports.fVar = fVar;
38
+ const fAbs = (param, paramType, body) => ({
39
+ kind: 'abs',
40
+ param,
41
+ paramType,
42
+ body,
43
+ });
44
+ exports.fAbs = fAbs;
45
+ const fApp = (fn, arg) => ({ kind: 'app', fn, arg });
46
+ exports.fApp = fApp;
47
+ const fTAbs = (bind, body) => ({ kind: 'tabs', bind, body });
48
+ exports.fTAbs = fTAbs;
49
+ const fTApp = (fn, typeArg) => ({ kind: 'tapp', fn, typeArg });
50
+ exports.fTApp = fTApp;
51
+ // ---------- Variables libres de tipo (sobre FType) ----------
52
+ function freeTypeVars(t, acc = new Set()) {
53
+ switch (t.kind) {
54
+ case 'atom':
55
+ acc.add(t.name);
56
+ return acc;
57
+ case 'arrow':
58
+ freeTypeVars(t.from, acc);
59
+ freeTypeVars(t.to, acc);
60
+ return acc;
61
+ case 'forall': {
62
+ const inner = freeTypeVars(t.body);
63
+ inner.delete(t.bind);
64
+ for (const v of inner)
65
+ acc.add(v);
66
+ return acc;
67
+ }
68
+ }
69
+ }
70
+ // ---------- α-equivalencia de tipos ----------
71
+ // ∀X. T y ∀Y. T[X:=Y] son iguales módulo α.
72
+ function alphaEqType(a, b) {
73
+ return alphaEqTypeEnv(a, b, new Map(), new Map(), { n: 0 });
74
+ }
75
+ function alphaEqTypeEnv(a, b, envA, envB, counter) {
76
+ if (a.kind !== b.kind)
77
+ return false;
78
+ switch (a.kind) {
79
+ case 'atom': {
80
+ const bb = b;
81
+ const ia = envA.get(a.name);
82
+ const ib = envB.get(bb.name);
83
+ if (ia === undefined && ib === undefined)
84
+ return a.name === bb.name;
85
+ return ia === ib;
86
+ }
87
+ case 'arrow': {
88
+ const bb = b;
89
+ return (alphaEqTypeEnv(a.from, bb.from, envA, envB, counter) &&
90
+ alphaEqTypeEnv(a.to, bb.to, envA, envB, counter));
91
+ }
92
+ case 'forall': {
93
+ const bb = b;
94
+ const idx = counter.n++;
95
+ const newA = new Map(envA);
96
+ newA.set(a.bind, idx);
97
+ const newB = new Map(envB);
98
+ newB.set(bb.bind, idx);
99
+ return alphaEqTypeEnv(a.body, bb.body, newA, newB, counter);
100
+ }
101
+ }
102
+ }
103
+ // ---------- Well-formedness de tipos ----------
104
+ // Un tipo está bien formado si todas sus variables libres están
105
+ // declaradas en el contexto de tipos.
106
+ function isWellFormed(type, ctx = new Set()) {
107
+ switch (type.kind) {
108
+ case 'atom':
109
+ return ctx.has(type.name);
110
+ case 'arrow':
111
+ return isWellFormed(type.from, ctx) && isWellFormed(type.to, ctx);
112
+ case 'forall': {
113
+ const extended = new Set(ctx);
114
+ extended.add(type.bind);
115
+ return isWellFormed(type.body, extended);
116
+ }
117
+ }
118
+ }
119
+ // ---------- Serialización legible ----------
120
+ function fTypeToString(t) {
121
+ switch (t.kind) {
122
+ case 'atom':
123
+ return t.name;
124
+ case 'arrow': {
125
+ const lhs = t.from.kind === 'arrow' || t.from.kind === 'forall'
126
+ ? `(${fTypeToString(t.from)})`
127
+ : fTypeToString(t.from);
128
+ return `${lhs} → ${fTypeToString(t.to)}`;
129
+ }
130
+ case 'forall':
131
+ return `∀${t.bind}. ${fTypeToString(t.body)}`;
132
+ }
133
+ }
134
+ function fTermToString(t) {
135
+ switch (t.kind) {
136
+ case 'var':
137
+ return t.name;
138
+ case 'abs':
139
+ return `(λ${t.param}:${fTypeToString(t.paramType)}. ${fTermToString(t.body)})`;
140
+ case 'app': {
141
+ const fn = fTermToString(t.fn);
142
+ const arg = t.arg.kind === 'app' ? `(${fTermToString(t.arg)})` : fTermToString(t.arg);
143
+ return `(${fn} ${arg})`;
144
+ }
145
+ case 'tabs':
146
+ return `(Λ${t.bind}. ${fTermToString(t.body)})`;
147
+ case 'tapp':
148
+ return `(${fTermToString(t.fn)} [${fTypeToString(t.typeArg)}])`;
149
+ }
150
+ }
151
+ function emptyContext() {
152
+ return { term: new Map(), type: new Set() };
153
+ }
154
+ function cloneContext(ctx) {
155
+ return { term: new Map(ctx.term), type: new Set(ctx.type) };
156
+ }
157
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/system-f/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=anti-unify.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anti-unify.test.d.ts","sourceRoot":"","sources":["../../../src/tests/anti-unification/anti-unify.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Tests — Anti-unification (lgg / Plotkin)
4
+ // ============================================================
5
+ //
6
+ // Casos cubiertos:
7
+ // - Igualdad estructural: lgg(t, t) = t sin vars.
8
+ // - Cabeza común: lgg argument-wise.
9
+ // - Cabeza distinta: fresh var.
10
+ // - Reuso de fresh var para desacuerdos duplicados (clave para lgg).
11
+ // - Verificación de las dos sustituciones.
12
+ // - n-way con asociatividad.
13
+ // - generalizationOrder con todos los casos.
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const vitest_1 = require("vitest");
16
+ const anti_unification_1 = require("../../runtime/anti-unification");
17
+ (0, vitest_1.describe)('anti-unification — caso base', () => {
18
+ (0, vitest_1.it)('lgg(a, a) = a sin variables introducidas', () => {
19
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('a'));
20
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.generalization, (0, anti_unification_1.c)('a'))).toBe(true);
21
+ (0, vitest_1.expect)(result.variables).toHaveLength(0);
22
+ (0, vitest_1.expect)(result.substLeft.size).toBe(0);
23
+ (0, vitest_1.expect)(result.substRight.size).toBe(0);
24
+ });
25
+ (0, vitest_1.it)('lgg(X, X) = X (variables iguales no introducen fresh)', () => {
26
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.v)('X'), (0, anti_unification_1.v)('X'));
27
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.generalization, (0, anti_unification_1.v)('X'))).toBe(true);
28
+ (0, vitest_1.expect)(result.variables).toHaveLength(0);
29
+ });
30
+ });
31
+ (0, vitest_1.describe)('anti-unification — cabeza común', () => {
32
+ (0, vitest_1.it)('lgg(f(a, b), f(a, c)) = f(a, V) con substs correctas', () => {
33
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b')), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('c')));
34
+ (0, vitest_1.expect)(result.variables).toHaveLength(1);
35
+ const vname = result.variables[0];
36
+ (0, vitest_1.expect)(vname).toBeDefined();
37
+ if (vname === undefined)
38
+ return;
39
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.generalization, (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.v)(vname)))).toBe(true);
40
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.substLeft.get(vname), (0, anti_unification_1.c)('b'))).toBe(true);
41
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.substRight.get(vname), (0, anti_unification_1.c)('c'))).toBe(true);
42
+ // σ_L(g) = t1 y σ_R(g) = t2
43
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, result.substLeft), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b')))).toBe(true);
44
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, result.substRight), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('c')))).toBe(true);
45
+ });
46
+ (0, vitest_1.it)('lgg(f(a), f(a)) = f(a) sin variables', () => {
47
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')));
48
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.generalization, (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')))).toBe(true);
49
+ (0, vitest_1.expect)(result.variables).toHaveLength(0);
50
+ });
51
+ });
52
+ (0, vitest_1.describe)('anti-unification — cabeza distinta', () => {
53
+ (0, vitest_1.it)('lgg(f(a), g(a)) = fresh var (funciones diferentes)', () => {
54
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')), (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('a')));
55
+ (0, vitest_1.expect)(result.variables).toHaveLength(1);
56
+ (0, vitest_1.expect)(result.generalization.kind).toBe('var');
57
+ const vname = result.variables[0];
58
+ (0, vitest_1.expect)(vname).toBeDefined();
59
+ if (vname === undefined)
60
+ return;
61
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.substLeft.get(vname), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')))).toBe(true);
62
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.substRight.get(vname), (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('a')))).toBe(true);
63
+ });
64
+ (0, vitest_1.it)('lgg(a, b) = fresh var (constantes distintas)', () => {
65
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b'));
66
+ (0, vitest_1.expect)(result.generalization.kind).toBe('var');
67
+ (0, vitest_1.expect)(result.variables).toHaveLength(1);
68
+ });
69
+ (0, vitest_1.it)('lgg(f(a, b), g(a, b)) = fresh var (no comparten cabeza)', () => {
70
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b')), (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b')));
71
+ // La cabeza difiere → un solo fresh var, sin recursar en args.
72
+ (0, vitest_1.expect)(result.variables).toHaveLength(1);
73
+ (0, vitest_1.expect)(result.generalization.kind).toBe('var');
74
+ });
75
+ });
76
+ (0, vitest_1.describe)('anti-unification — aridad distinta', () => {
77
+ (0, vitest_1.it)('lgg(f(a), f(a, b)) = fresh var (misma cabeza pero aridad distinta)', () => {
78
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b')));
79
+ (0, vitest_1.expect)(result.variables).toHaveLength(1);
80
+ (0, vitest_1.expect)(result.generalization.kind).toBe('var');
81
+ });
82
+ });
83
+ (0, vitest_1.describe)('anti-unification — desacuerdo repetido se comparte', () => {
84
+ (0, vitest_1.it)('lgg(p(a, a), p(b, b)) = p(V, V) (misma fresh var en ambas posiciones)', () => {
85
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('p', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('a')), (0, anti_unification_1.f)('p', (0, anti_unification_1.c)('b'), (0, anti_unification_1.c)('b')));
86
+ (0, vitest_1.expect)(result.variables).toHaveLength(1);
87
+ const vname = result.variables[0];
88
+ (0, vitest_1.expect)(vname).toBeDefined();
89
+ if (vname === undefined)
90
+ return;
91
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.generalization, (0, anti_unification_1.f)('p', (0, anti_unification_1.v)(vname), (0, anti_unification_1.v)(vname)))).toBe(true);
92
+ // Validamos que la generalización es LEAST: σ_L(g) = t1.
93
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, result.substLeft), (0, anti_unification_1.f)('p', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('a')))).toBe(true);
94
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, result.substRight), (0, anti_unification_1.f)('p', (0, anti_unification_1.c)('b'), (0, anti_unification_1.c)('b')))).toBe(true);
95
+ });
96
+ (0, vitest_1.it)('lgg(f(a, b, c), f(b, a, c)) = f(X, Y, c) con swaps en cada lado', () => {
97
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b'), (0, anti_unification_1.c)('c')), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('b'), (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('c')));
98
+ // Dos desacuerdos: (a,b) en pos 0 y (b,a) en pos 1. Son pares
99
+ // distintos → dos fresh vars.
100
+ (0, vitest_1.expect)(result.variables).toHaveLength(2);
101
+ const [x, y] = result.variables;
102
+ (0, vitest_1.expect)(x).toBeDefined();
103
+ (0, vitest_1.expect)(y).toBeDefined();
104
+ if (x === undefined || y === undefined)
105
+ return;
106
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.generalization, (0, anti_unification_1.f)('f', (0, anti_unification_1.v)(x), (0, anti_unification_1.v)(y), (0, anti_unification_1.c)('c')))).toBe(true);
107
+ // Left: X→a, Y→b. Right: X→b, Y→a.
108
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.substLeft.get(x), (0, anti_unification_1.c)('a'))).toBe(true);
109
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.substLeft.get(y), (0, anti_unification_1.c)('b'))).toBe(true);
110
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.substRight.get(x), (0, anti_unification_1.c)('b'))).toBe(true);
111
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.substRight.get(y), (0, anti_unification_1.c)('a'))).toBe(true);
112
+ });
113
+ });
114
+ (0, vitest_1.describe)('anti-unification — desacuerdos anidados', () => {
115
+ (0, vitest_1.it)('lgg(f(g(a), g(b)), f(g(c), g(d))) = f(g(V1), g(V2))', () => {
116
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('f', (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('a')), (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('b'))), (0, anti_unification_1.f)('f', (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('c')), (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('d'))));
117
+ (0, vitest_1.expect)(result.variables).toHaveLength(2);
118
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, result.substLeft), (0, anti_unification_1.f)('f', (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('a')), (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('b'))))).toBe(true);
119
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, result.substRight), (0, anti_unification_1.f)('f', (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('c')), (0, anti_unification_1.f)('g', (0, anti_unification_1.c)('d'))))).toBe(true);
120
+ });
121
+ (0, vitest_1.it)('lgg(h(x, x), h(y, z)) — variables como términos comunes y distintos', () => {
122
+ // h(x, x) vs h(y, z): pos 0 desacuerdo (x, y), pos 1 desacuerdo (x, z).
123
+ // Son pares DISTINTOS porque el segundo componente difiere → dos
124
+ // fresh vars distintas.
125
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('h', (0, anti_unification_1.v)('x'), (0, anti_unification_1.v)('x')), (0, anti_unification_1.f)('h', (0, anti_unification_1.v)('y'), (0, anti_unification_1.v)('z')));
126
+ (0, vitest_1.expect)(result.variables).toHaveLength(2);
127
+ });
128
+ });
129
+ (0, vitest_1.describe)('antiUnifyMany — n-way lgg', () => {
130
+ (0, vitest_1.it)('lgg de 3 términos f(a, b), f(a, c), f(a, d) = f(a, V)', () => {
131
+ const result = (0, anti_unification_1.antiUnifyMany)([
132
+ (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b')),
133
+ (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('c')),
134
+ (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('d')),
135
+ ]);
136
+ (0, vitest_1.expect)(result.variables).toHaveLength(1);
137
+ (0, vitest_1.expect)(result.generalization.kind).toBe('func');
138
+ if (result.generalization.kind !== 'func')
139
+ return;
140
+ (0, vitest_1.expect)(result.generalization.name).toBe('f');
141
+ (0, vitest_1.expect)(result.generalization.args).toBeDefined();
142
+ (0, vitest_1.expect)((result.generalization.args ?? [])[0]).toEqual((0, anti_unification_1.c)('a'));
143
+ });
144
+ (0, vitest_1.it)('lgg de 1 término devuelve el término mismo sin variables', () => {
145
+ const result = (0, anti_unification_1.antiUnifyMany)([(0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'))]);
146
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)(result.generalization, (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')))).toBe(true);
147
+ (0, vitest_1.expect)(result.variables).toHaveLength(0);
148
+ });
149
+ (0, vitest_1.it)('lgg de array vacío lanza', () => {
150
+ (0, vitest_1.expect)(() => (0, anti_unification_1.antiUnifyMany)([])).toThrow();
151
+ });
152
+ (0, vitest_1.it)('antiUnifyManyDetailed devuelve N sustituciones, una por término', () => {
153
+ const terms = [(0, anti_unification_1.f)('p', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('a')), (0, anti_unification_1.f)('p', (0, anti_unification_1.c)('b'), (0, anti_unification_1.c)('b')), (0, anti_unification_1.f)('p', (0, anti_unification_1.c)('c'), (0, anti_unification_1.c)('c'))];
154
+ const result = (0, anti_unification_1.antiUnifyManyDetailed)(terms);
155
+ (0, vitest_1.expect)(result.substs).toHaveLength(3);
156
+ for (let i = 0; i < terms.length; i++) {
157
+ const ti = terms[i];
158
+ const si = result.substs[i];
159
+ (0, vitest_1.expect)(ti).toBeDefined();
160
+ (0, vitest_1.expect)(si).toBeDefined();
161
+ if (ti === undefined || si === undefined)
162
+ continue;
163
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, si), ti)).toBe(true);
164
+ }
165
+ });
166
+ });
167
+ (0, vitest_1.describe)('generalizationOrder', () => {
168
+ (0, vitest_1.it)('X es más general que f(X) → orden -1', () => {
169
+ (0, vitest_1.expect)((0, anti_unification_1.generalizationOrder)((0, anti_unification_1.v)('X'), (0, anti_unification_1.f)('f', (0, anti_unification_1.v)('X')))).toBe(-1);
170
+ });
171
+ (0, vitest_1.it)('f(X) es menos general que X → orden +1 (sentido inverso)', () => {
172
+ (0, vitest_1.expect)((0, anti_unification_1.generalizationOrder)((0, anti_unification_1.f)('f', (0, anti_unification_1.v)('X')), (0, anti_unification_1.v)('X'))).toBe(1);
173
+ });
174
+ (0, vitest_1.it)('términos idénticos → 0', () => {
175
+ (0, vitest_1.expect)((0, anti_unification_1.generalizationOrder)((0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a')))).toBe(0);
176
+ });
177
+ (0, vitest_1.it)('renombre puro de variables → 0 (equivalentes)', () => {
178
+ (0, vitest_1.expect)((0, anti_unification_1.generalizationOrder)((0, anti_unification_1.f)('f', (0, anti_unification_1.v)('X')), (0, anti_unification_1.f)('f', (0, anti_unification_1.v)('Y')))).toBe(0);
179
+ });
180
+ (0, vitest_1.it)('incomparables: f(X) vs g(X) → null', () => {
181
+ (0, vitest_1.expect)((0, anti_unification_1.generalizationOrder)((0, anti_unification_1.f)('f', (0, anti_unification_1.v)('X')), (0, anti_unification_1.f)('g', (0, anti_unification_1.v)('X')))).toBe(null);
182
+ });
183
+ (0, vitest_1.it)('f(X, X) vs f(X, Y): la primera es menos general (más específica) que la segunda', () => {
184
+ // f(X, Y) σ-instancia a f(X, X) con σ = {Y → X}.
185
+ // f(X, X) NO σ-instancia a f(X, Y) (variables del pattern no se pueden duplicar libremente).
186
+ // Resultado: f(X, Y) más general → generalizationOrder(f(X,X), f(X,Y)) = +1.
187
+ (0, vitest_1.expect)((0, anti_unification_1.generalizationOrder)((0, anti_unification_1.f)('f', (0, anti_unification_1.v)('X'), (0, anti_unification_1.v)('X')), (0, anti_unification_1.f)('f', (0, anti_unification_1.v)('X'), (0, anti_unification_1.v)('Y')))).toBe(1);
188
+ });
189
+ });
190
+ (0, vitest_1.describe)('antiUnify — verificación de propiedades invariantes', () => {
191
+ (0, vitest_1.it)('para cualquier par (t1, t2), σ_L(g) = t1 y σ_R(g) = t2', () => {
192
+ const pairs = [
193
+ [(0, anti_unification_1.f)('add', (0, anti_unification_1.c)('1'), (0, anti_unification_1.c)('2')), (0, anti_unification_1.f)('add', (0, anti_unification_1.c)('3'), (0, anti_unification_1.c)('4'))],
194
+ [(0, anti_unification_1.f)('node', (0, anti_unification_1.v)('x'), (0, anti_unification_1.f)('leaf')), (0, anti_unification_1.f)('node', (0, anti_unification_1.v)('y'), (0, anti_unification_1.f)('leaf'))],
195
+ [(0, anti_unification_1.c)('zero'), (0, anti_unification_1.f)('succ', (0, anti_unification_1.c)('zero'))],
196
+ [(0, anti_unification_1.f)('cons', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('nil')), (0, anti_unification_1.f)('cons', (0, anti_unification_1.c)('b'), (0, anti_unification_1.f)('cons', (0, anti_unification_1.c)('c'), (0, anti_unification_1.c)('nil')))],
197
+ ];
198
+ for (const [t1, t2] of pairs) {
199
+ const result = (0, anti_unification_1.antiUnify)(t1, t2);
200
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, result.substLeft), t1)).toBe(true);
201
+ (0, vitest_1.expect)((0, anti_unification_1.termEquals)((0, anti_unification_1.applySubst)(result.generalization, result.substRight), t2)).toBe(true);
202
+ // Las variables de la generalización deben ser exactamente las
203
+ // reportadas en `variables` (módulo el orden).
204
+ (0, vitest_1.expect)(new Set((0, anti_unification_1.varsOf)(result.generalization))).toEqual(new Set(result.variables));
205
+ }
206
+ });
207
+ (0, vitest_1.it)('freshSupply custom controla los nombres de variables', () => {
208
+ let i = 0;
209
+ const supply = () => `Z${i++}`;
210
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.f)('f', (0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b')), (0, anti_unification_1.f)('f', (0, anti_unification_1.c)('c'), (0, anti_unification_1.c)('d')), supply);
211
+ (0, vitest_1.expect)(result.variables).toEqual(['Z0', 'Z1']);
212
+ });
213
+ (0, vitest_1.it)('defaultFreshSupply con prefijo personalizado genera nombres consistentes', () => {
214
+ const supply = (0, anti_unification_1.defaultFreshSupply)('var_');
215
+ const result = (0, anti_unification_1.antiUnify)((0, anti_unification_1.c)('a'), (0, anti_unification_1.c)('b'), supply);
216
+ (0, vitest_1.expect)(result.variables[0]).toBe('var_0');
217
+ });
218
+ });
219
+ //# sourceMappingURL=anti-unify.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anti-unify.test.js","sourceRoot":"","sources":["../../../src/tests/anti-unification/anti-unify.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Current coverage: ~30% stmts, ~38% branch
5
5
  * Uses: AristotelianSyllogistic directly + evaluate() API
6
6
  */
7
- /* eslint-disable @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access -- test stubs use partial any casts for brevity */
7
+ /* eslint-disable @typescript-eslint/no-unsafe-argument -- test stubs use partial any casts for brevity */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  const vitest_1 = require("vitest");
10
10
  const api_1 = require("../api");
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-fill-aristotelian.test.js","sourceRoot":"","sources":["../../src/tests/coverage-fill-aristotelian.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coverage-fill-aristotelian.test.js","sourceRoot":"","sources":["../../src/tests/coverage-fill-aristotelian.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Coverage fill — src/runtime/fallacies.ts
4
4
  * Current coverage: ~65% stmts, ~48% branch
5
5
  */
6
- /* eslint-disable @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access -- test stubs use partial any casts for brevity */
6
+ /* eslint-disable @typescript-eslint/no-unsafe-argument -- test stubs use partial any casts for brevity */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  const vitest_1 = require("vitest");
9
9
  const fallacies_1 = require("../runtime/fallacies");