@stevenvo780/st-lang 4.3.0 → 4.5.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 (459) hide show
  1. package/dist/coinduction/index.d.ts +136 -0
  2. package/dist/coinduction/index.d.ts.map +1 -0
  3. package/dist/coinduction/index.js +318 -0
  4. package/dist/coinduction/index.js.map +1 -0
  5. package/dist/combinators-ski/abstract.d.ts +5 -0
  6. package/dist/combinators-ski/abstract.d.ts.map +1 -0
  7. package/dist/combinators-ski/abstract.js +88 -0
  8. package/dist/combinators-ski/abstract.js.map +1 -0
  9. package/dist/combinators-ski/index.d.ts +6 -0
  10. package/dist/combinators-ski/index.d.ts.map +1 -0
  11. package/dist/combinators-ski/index.js +30 -0
  12. package/dist/combinators-ski/index.js.map +1 -0
  13. package/dist/combinators-ski/reduce.d.ts +10 -0
  14. package/dist/combinators-ski/reduce.d.ts.map +1 -0
  15. package/dist/combinators-ski/reduce.js +118 -0
  16. package/dist/combinators-ski/reduce.js.map +1 -0
  17. package/dist/combinators-ski/types.d.ts +23 -0
  18. package/dist/combinators-ski/types.d.ts.map +1 -0
  19. package/dist/combinators-ski/types.js +102 -0
  20. package/dist/combinators-ski/types.js.map +1 -0
  21. package/dist/constructive-reals/index.d.ts +132 -0
  22. package/dist/constructive-reals/index.d.ts.map +1 -0
  23. package/dist/constructive-reals/index.js +723 -0
  24. package/dist/constructive-reals/index.js.map +1 -0
  25. package/dist/game-semantics/convert.d.ts +4 -0
  26. package/dist/game-semantics/convert.d.ts.map +1 -0
  27. package/dist/game-semantics/convert.js +28 -0
  28. package/dist/game-semantics/convert.js.map +1 -0
  29. package/dist/game-semantics/index.d.ts +6 -0
  30. package/dist/game-semantics/index.d.ts.map +1 -0
  31. package/dist/game-semantics/index.js +28 -0
  32. package/dist/game-semantics/index.js.map +1 -0
  33. package/dist/game-semantics/strategy.d.ts +34 -0
  34. package/dist/game-semantics/strategy.d.ts.map +1 -0
  35. package/dist/game-semantics/strategy.js +336 -0
  36. package/dist/game-semantics/strategy.js.map +1 -0
  37. package/dist/game-semantics/types.d.ts +64 -0
  38. package/dist/game-semantics/types.d.ts.map +1 -0
  39. package/dist/game-semantics/types.js +78 -0
  40. package/dist/game-semantics/types.js.map +1 -0
  41. package/dist/higher-order-unify/index.d.ts +5 -0
  42. package/dist/higher-order-unify/index.d.ts.map +1 -0
  43. package/dist/higher-order-unify/index.js +27 -0
  44. package/dist/higher-order-unify/index.js.map +1 -0
  45. package/dist/higher-order-unify/normalize.d.ts +14 -0
  46. package/dist/higher-order-unify/normalize.d.ts.map +1 -0
  47. package/dist/higher-order-unify/normalize.js +191 -0
  48. package/dist/higher-order-unify/normalize.js.map +1 -0
  49. package/dist/higher-order-unify/pattern.d.ts +4 -0
  50. package/dist/higher-order-unify/pattern.d.ts.map +1 -0
  51. package/dist/higher-order-unify/pattern.js +70 -0
  52. package/dist/higher-order-unify/pattern.js.map +1 -0
  53. package/dist/higher-order-unify/types.d.ts +19 -0
  54. package/dist/higher-order-unify/types.d.ts.map +1 -0
  55. package/dist/higher-order-unify/types.js +14 -0
  56. package/dist/higher-order-unify/types.js.map +1 -0
  57. package/dist/higher-order-unify/unify.d.ts +5 -0
  58. package/dist/higher-order-unify/unify.d.ts.map +1 -0
  59. package/dist/higher-order-unify/unify.js +306 -0
  60. package/dist/higher-order-unify/unify.js.map +1 -0
  61. package/dist/index.d.ts +4 -0
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +36 -2
  64. package/dist/index.js.map +1 -1
  65. package/dist/lambda-calc/church.d.ts.map +1 -1
  66. package/dist/lambda-calc/church.js.map +1 -1
  67. package/dist/lambda-calc/combinators.d.ts.map +1 -1
  68. package/dist/lambda-calc/combinators.js.map +1 -1
  69. package/dist/lambda-calc/index.d.ts +1 -1
  70. package/dist/lambda-calc/index.d.ts.map +1 -1
  71. package/dist/lambda-calc/index.js.map +1 -1
  72. package/dist/mltt/equality.d.ts +9 -0
  73. package/dist/mltt/equality.d.ts.map +1 -0
  74. package/dist/mltt/equality.js +79 -0
  75. package/dist/mltt/equality.js.map +1 -0
  76. package/dist/mltt/index.d.ts +8 -0
  77. package/dist/mltt/index.d.ts.map +1 -0
  78. package/dist/mltt/index.js +49 -0
  79. package/dist/mltt/index.js.map +1 -0
  80. package/dist/mltt/infer.d.ts +17 -0
  81. package/dist/mltt/infer.d.ts.map +1 -0
  82. package/dist/mltt/infer.js +269 -0
  83. package/dist/mltt/infer.js.map +1 -0
  84. package/dist/mltt/normalize.d.ts +7 -0
  85. package/dist/mltt/normalize.d.ts.map +1 -0
  86. package/dist/mltt/normalize.js +131 -0
  87. package/dist/mltt/normalize.js.map +1 -0
  88. package/dist/mltt/substitute.d.ts +4 -0
  89. package/dist/mltt/substitute.d.ts.map +1 -0
  90. package/dist/mltt/substitute.js +94 -0
  91. package/dist/mltt/substitute.js.map +1 -0
  92. package/dist/mltt/types.d.ts +72 -0
  93. package/dist/mltt/types.d.ts.map +1 -0
  94. package/dist/mltt/types.js +211 -0
  95. package/dist/mltt/types.js.map +1 -0
  96. package/dist/nbe/index.d.ts +3 -0
  97. package/dist/nbe/index.d.ts.map +1 -0
  98. package/dist/nbe/index.js +25 -0
  99. package/dist/nbe/index.js.map +1 -0
  100. package/dist/nbe/nbe.d.ts +7 -0
  101. package/dist/nbe/nbe.d.ts.map +1 -0
  102. package/dist/nbe/nbe.js +118 -0
  103. package/dist/nbe/nbe.js.map +1 -0
  104. package/dist/nbe/types.d.ts +54 -0
  105. package/dist/nbe/types.d.ts.map +1 -0
  106. package/dist/nbe/types.js +117 -0
  107. package/dist/nbe/types.js.map +1 -0
  108. package/dist/profile-bridge/index.d.ts +64 -0
  109. package/dist/profile-bridge/index.d.ts.map +1 -0
  110. package/dist/profile-bridge/index.js +328 -0
  111. package/dist/profile-bridge/index.js.map +1 -0
  112. package/dist/profiles/many-valued/index.d.ts.map +1 -1
  113. package/dist/profiles/many-valued/index.js.map +1 -1
  114. package/dist/profiles/mu-calculus/check.d.ts +15 -0
  115. package/dist/profiles/mu-calculus/check.d.ts.map +1 -0
  116. package/dist/profiles/mu-calculus/check.js +172 -0
  117. package/dist/profiles/mu-calculus/check.js.map +1 -0
  118. package/dist/profiles/mu-calculus/ctl-translate.d.ts +61 -0
  119. package/dist/profiles/mu-calculus/ctl-translate.d.ts.map +1 -0
  120. package/dist/profiles/mu-calculus/ctl-translate.js +181 -0
  121. package/dist/profiles/mu-calculus/ctl-translate.js.map +1 -0
  122. package/dist/profiles/mu-calculus/index.d.ts +7 -0
  123. package/dist/profiles/mu-calculus/index.d.ts.map +1 -0
  124. package/dist/profiles/mu-calculus/index.js +33 -0
  125. package/dist/profiles/mu-calculus/index.js.map +1 -0
  126. package/dist/profiles/mu-calculus/types.d.ts +51 -0
  127. package/dist/profiles/mu-calculus/types.d.ts.map +1 -0
  128. package/dist/profiles/mu-calculus/types.js +42 -0
  129. package/dist/profiles/mu-calculus/types.js.map +1 -0
  130. package/dist/profiles/mu-calculus/wellformed.d.ts +40 -0
  131. package/dist/profiles/mu-calculus/wellformed.d.ts.map +1 -0
  132. package/dist/profiles/mu-calculus/wellformed.js +160 -0
  133. package/dist/profiles/mu-calculus/wellformed.js.map +1 -0
  134. package/dist/profiles/sequent-lk/cut-elimination.d.ts +11 -0
  135. package/dist/profiles/sequent-lk/cut-elimination.d.ts.map +1 -0
  136. package/dist/profiles/sequent-lk/cut-elimination.js +216 -0
  137. package/dist/profiles/sequent-lk/cut-elimination.js.map +1 -0
  138. package/dist/profiles/sequent-lk/index.d.ts +5 -0
  139. package/dist/profiles/sequent-lk/index.d.ts.map +1 -0
  140. package/dist/profiles/sequent-lk/index.js +24 -0
  141. package/dist/profiles/sequent-lk/index.js.map +1 -0
  142. package/dist/profiles/sequent-lk/prover.d.ts +25 -0
  143. package/dist/profiles/sequent-lk/prover.d.ts.map +1 -0
  144. package/dist/profiles/sequent-lk/prover.js +532 -0
  145. package/dist/profiles/sequent-lk/prover.js.map +1 -0
  146. package/dist/profiles/sequent-lk/types.d.ts +55 -0
  147. package/dist/profiles/sequent-lk/types.d.ts.map +1 -0
  148. package/dist/profiles/sequent-lk/types.js +18 -0
  149. package/dist/profiles/sequent-lk/types.js.map +1 -0
  150. package/dist/profiles/sequent-lk/util.d.ts +18 -0
  151. package/dist/profiles/sequent-lk/util.d.ts.map +1 -0
  152. package/dist/profiles/sequent-lk/util.js +71 -0
  153. package/dist/profiles/sequent-lk/util.js.map +1 -0
  154. package/dist/proof-nets/construct.d.ts +3 -0
  155. package/dist/proof-nets/construct.d.ts.map +1 -0
  156. package/dist/proof-nets/construct.js +85 -0
  157. package/dist/proof-nets/construct.js.map +1 -0
  158. package/dist/proof-nets/correctness.d.ts +3 -0
  159. package/dist/proof-nets/correctness.d.ts.map +1 -0
  160. package/dist/proof-nets/correctness.js +213 -0
  161. package/dist/proof-nets/correctness.js.map +1 -0
  162. package/dist/proof-nets/cut-elim.d.ts +9 -0
  163. package/dist/proof-nets/cut-elim.d.ts.map +1 -0
  164. package/dist/proof-nets/cut-elim.js +149 -0
  165. package/dist/proof-nets/cut-elim.js.map +1 -0
  166. package/dist/proof-nets/index.d.ts +6 -0
  167. package/dist/proof-nets/index.d.ts.map +1 -0
  168. package/dist/proof-nets/index.js +33 -0
  169. package/dist/proof-nets/index.js.map +1 -0
  170. package/dist/proof-nets/types.d.ts +36 -0
  171. package/dist/proof-nets/types.d.ts.map +1 -0
  172. package/dist/proof-nets/types.js +89 -0
  173. package/dist/proof-nets/types.js.map +1 -0
  174. package/dist/refinement-types/checker.d.ts +19 -0
  175. package/dist/refinement-types/checker.d.ts.map +1 -0
  176. package/dist/refinement-types/checker.js +248 -0
  177. package/dist/refinement-types/checker.js.map +1 -0
  178. package/dist/refinement-types/index.d.ts +11 -0
  179. package/dist/refinement-types/index.d.ts.map +1 -0
  180. package/dist/refinement-types/index.js +51 -0
  181. package/dist/refinement-types/index.js.map +1 -0
  182. package/dist/refinement-types/predicate.d.ts +31 -0
  183. package/dist/refinement-types/predicate.d.ts.map +1 -0
  184. package/dist/refinement-types/predicate.js +369 -0
  185. package/dist/refinement-types/predicate.js.map +1 -0
  186. package/dist/refinement-types/solver.d.ts +24 -0
  187. package/dist/refinement-types/solver.d.ts.map +1 -0
  188. package/dist/refinement-types/solver.js +207 -0
  189. package/dist/refinement-types/solver.js.map +1 -0
  190. package/dist/refinement-types/subtype.d.ts +14 -0
  191. package/dist/refinement-types/subtype.d.ts.map +1 -0
  192. package/dist/refinement-types/subtype.js +39 -0
  193. package/dist/refinement-types/subtype.js.map +1 -0
  194. package/dist/refinement-types/types.d.ts +64 -0
  195. package/dist/refinement-types/types.d.ts.map +1 -0
  196. package/dist/refinement-types/types.js +130 -0
  197. package/dist/refinement-types/types.js.map +1 -0
  198. package/dist/runtime/anti-unification/anti-unify.d.ts +22 -0
  199. package/dist/runtime/anti-unification/anti-unify.d.ts.map +1 -0
  200. package/dist/runtime/anti-unification/anti-unify.js +154 -0
  201. package/dist/runtime/anti-unification/anti-unify.js.map +1 -0
  202. package/dist/runtime/anti-unification/index.d.ts +6 -0
  203. package/dist/runtime/anti-unification/index.d.ts.map +1 -0
  204. package/dist/runtime/anti-unification/index.js +23 -0
  205. package/dist/runtime/anti-unification/index.js.map +1 -0
  206. package/dist/runtime/anti-unification/many.d.ts +49 -0
  207. package/dist/runtime/anti-unification/many.d.ts.map +1 -0
  208. package/dist/runtime/anti-unification/many.js +185 -0
  209. package/dist/runtime/anti-unification/many.js.map +1 -0
  210. package/dist/runtime/anti-unification/term-utils.d.ts +40 -0
  211. package/dist/runtime/anti-unification/term-utils.d.ts.map +1 -0
  212. package/dist/runtime/anti-unification/term-utils.js +173 -0
  213. package/dist/runtime/anti-unification/term-utils.js.map +1 -0
  214. package/dist/runtime/anti-unification/types.d.ts +41 -0
  215. package/dist/runtime/anti-unification/types.d.ts.map +1 -0
  216. package/dist/runtime/anti-unification/types.js +26 -0
  217. package/dist/runtime/anti-unification/types.js.map +1 -0
  218. package/dist/runtime/csp/ac3.d.ts +20 -0
  219. package/dist/runtime/csp/ac3.d.ts.map +1 -0
  220. package/dist/runtime/csp/ac3.js +165 -0
  221. package/dist/runtime/csp/ac3.js.map +1 -0
  222. package/dist/runtime/csp/backtrack.d.ts +15 -0
  223. package/dist/runtime/csp/backtrack.d.ts.map +1 -0
  224. package/dist/runtime/csp/backtrack.js +233 -0
  225. package/dist/runtime/csp/backtrack.js.map +1 -0
  226. package/dist/runtime/csp/builtins.d.ts +27 -0
  227. package/dist/runtime/csp/builtins.d.ts.map +1 -0
  228. package/dist/runtime/csp/builtins.js +109 -0
  229. package/dist/runtime/csp/builtins.js.map +1 -0
  230. package/dist/runtime/csp/index.d.ts +5 -0
  231. package/dist/runtime/csp/index.d.ts.map +1 -0
  232. package/dist/runtime/csp/index.js +23 -0
  233. package/dist/runtime/csp/index.js.map +1 -0
  234. package/dist/runtime/csp/types.d.ts +54 -0
  235. package/dist/runtime/csp/types.d.ts.map +1 -0
  236. package/dist/runtime/csp/types.js +14 -0
  237. package/dist/runtime/csp/types.js.map +1 -0
  238. package/dist/runtime/markov-logic/grounding.d.ts +19 -0
  239. package/dist/runtime/markov-logic/grounding.d.ts.map +1 -0
  240. package/dist/runtime/markov-logic/grounding.js +252 -0
  241. package/dist/runtime/markov-logic/grounding.js.map +1 -0
  242. package/dist/runtime/markov-logic/index.d.ts +6 -0
  243. package/dist/runtime/markov-logic/index.d.ts.map +1 -0
  244. package/dist/runtime/markov-logic/index.js +47 -0
  245. package/dist/runtime/markov-logic/index.js.map +1 -0
  246. package/dist/runtime/markov-logic/inference.d.ts +77 -0
  247. package/dist/runtime/markov-logic/inference.d.ts.map +1 -0
  248. package/dist/runtime/markov-logic/inference.js +382 -0
  249. package/dist/runtime/markov-logic/inference.js.map +1 -0
  250. package/dist/runtime/markov-logic/parser.d.ts +25 -0
  251. package/dist/runtime/markov-logic/parser.d.ts.map +1 -0
  252. package/dist/runtime/markov-logic/parser.js +264 -0
  253. package/dist/runtime/markov-logic/parser.js.map +1 -0
  254. package/dist/runtime/markov-logic/types.d.ts +64 -0
  255. package/dist/runtime/markov-logic/types.d.ts.map +1 -0
  256. package/dist/runtime/markov-logic/types.js +17 -0
  257. package/dist/runtime/markov-logic/types.js.map +1 -0
  258. package/dist/runtime/pi-calculus/congruence.d.ts +15 -0
  259. package/dist/runtime/pi-calculus/congruence.d.ts.map +1 -0
  260. package/dist/runtime/pi-calculus/congruence.js +271 -0
  261. package/dist/runtime/pi-calculus/congruence.js.map +1 -0
  262. package/dist/runtime/pi-calculus/index.d.ts +6 -0
  263. package/dist/runtime/pi-calculus/index.d.ts.map +1 -0
  264. package/dist/runtime/pi-calculus/index.js +30 -0
  265. package/dist/runtime/pi-calculus/index.js.map +1 -0
  266. package/dist/runtime/pi-calculus/names.d.ts +28 -0
  267. package/dist/runtime/pi-calculus/names.d.ts.map +1 -0
  268. package/dist/runtime/pi-calculus/names.js +182 -0
  269. package/dist/runtime/pi-calculus/names.js.map +1 -0
  270. package/dist/runtime/pi-calculus/reduction.d.ts +25 -0
  271. package/dist/runtime/pi-calculus/reduction.d.ts.map +1 -0
  272. package/dist/runtime/pi-calculus/reduction.js +338 -0
  273. package/dist/runtime/pi-calculus/reduction.js.map +1 -0
  274. package/dist/runtime/pi-calculus/substitution.d.ts +11 -0
  275. package/dist/runtime/pi-calculus/substitution.d.ts.map +1 -0
  276. package/dist/runtime/pi-calculus/substitution.js +109 -0
  277. package/dist/runtime/pi-calculus/substitution.js.map +1 -0
  278. package/dist/runtime/pi-calculus/types.d.ts +38 -0
  279. package/dist/runtime/pi-calculus/types.d.ts.map +1 -0
  280. package/dist/runtime/pi-calculus/types.js +22 -0
  281. package/dist/runtime/pi-calculus/types.js.map +1 -0
  282. package/dist/runtime/planning/astar.d.ts +10 -0
  283. package/dist/runtime/planning/astar.d.ts.map +1 -0
  284. package/dist/runtime/planning/astar.js +155 -0
  285. package/dist/runtime/planning/astar.js.map +1 -0
  286. package/dist/runtime/planning/bfs.d.ts +17 -0
  287. package/dist/runtime/planning/bfs.d.ts.map +1 -0
  288. package/dist/runtime/planning/bfs.js +87 -0
  289. package/dist/runtime/planning/bfs.js.map +1 -0
  290. package/dist/runtime/planning/ground.d.ts +55 -0
  291. package/dist/runtime/planning/ground.d.ts.map +1 -0
  292. package/dist/runtime/planning/ground.js +154 -0
  293. package/dist/runtime/planning/ground.js.map +1 -0
  294. package/dist/runtime/planning/heuristic.d.ts +29 -0
  295. package/dist/runtime/planning/heuristic.d.ts.map +1 -0
  296. package/dist/runtime/planning/heuristic.js +172 -0
  297. package/dist/runtime/planning/heuristic.js.map +1 -0
  298. package/dist/runtime/planning/index.d.ts +6 -0
  299. package/dist/runtime/planning/index.d.ts.map +1 -0
  300. package/dist/runtime/planning/index.js +38 -0
  301. package/dist/runtime/planning/index.js.map +1 -0
  302. package/dist/runtime/planning/types.d.ts +100 -0
  303. package/dist/runtime/planning/types.d.ts.map +1 -0
  304. package/dist/runtime/planning/types.js +22 -0
  305. package/dist/runtime/planning/types.js.map +1 -0
  306. package/dist/runtime/symbolic-diff/differentiate.d.ts.map +1 -1
  307. package/dist/runtime/symbolic-diff/differentiate.js.map +1 -1
  308. package/dist/runtime/symbolic-diff/index.d.ts +1 -1
  309. package/dist/runtime/symbolic-diff/index.d.ts.map +1 -1
  310. package/dist/runtime/symbolic-diff/index.js.map +1 -1
  311. package/dist/runtime/symbolic-diff/parse.d.ts.map +1 -1
  312. package/dist/runtime/symbolic-diff/parse.js +7 -1
  313. package/dist/runtime/symbolic-diff/parse.js.map +1 -1
  314. package/dist/runtime/theorem-cache/cache.d.ts +100 -0
  315. package/dist/runtime/theorem-cache/cache.d.ts.map +1 -0
  316. package/dist/runtime/theorem-cache/cache.js +213 -0
  317. package/dist/runtime/theorem-cache/cache.js.map +1 -0
  318. package/dist/runtime/theorem-cache/canonical.d.ts +59 -0
  319. package/dist/runtime/theorem-cache/canonical.d.ts.map +1 -0
  320. package/dist/runtime/theorem-cache/canonical.js +105 -0
  321. package/dist/runtime/theorem-cache/canonical.js.map +1 -0
  322. package/dist/runtime/theorem-cache/index.d.ts +6 -0
  323. package/dist/runtime/theorem-cache/index.d.ts.map +1 -0
  324. package/dist/runtime/theorem-cache/index.js +16 -0
  325. package/dist/runtime/theorem-cache/index.js.map +1 -0
  326. package/dist/runtime/theorem-cache/pattern.d.ts +24 -0
  327. package/dist/runtime/theorem-cache/pattern.d.ts.map +1 -0
  328. package/dist/runtime/theorem-cache/pattern.js +80 -0
  329. package/dist/runtime/theorem-cache/pattern.js.map +1 -0
  330. package/dist/system-f/index.d.ts +7 -0
  331. package/dist/system-f/index.d.ts.map +1 -0
  332. package/dist/system-f/index.js +48 -0
  333. package/dist/system-f/index.js.map +1 -0
  334. package/dist/system-f/infer.d.ts +9 -0
  335. package/dist/system-f/infer.d.ts.map +1 -0
  336. package/dist/system-f/infer.js +94 -0
  337. package/dist/system-f/infer.js.map +1 -0
  338. package/dist/system-f/reduce.d.ts +15 -0
  339. package/dist/system-f/reduce.d.ts.map +1 -0
  340. package/dist/system-f/reduce.js +259 -0
  341. package/dist/system-f/reduce.js.map +1 -0
  342. package/dist/system-f/types.d.ts +53 -0
  343. package/dist/system-f/types.d.ts.map +1 -0
  344. package/dist/system-f/types.js +157 -0
  345. package/dist/system-f/types.js.map +1 -0
  346. package/dist/tableau-framework/TableauProver.d.ts +10 -0
  347. package/dist/tableau-framework/TableauProver.d.ts.map +1 -0
  348. package/dist/tableau-framework/TableauProver.js +118 -0
  349. package/dist/tableau-framework/TableauProver.js.map +1 -0
  350. package/dist/tableau-framework/index.d.ts +5 -0
  351. package/dist/tableau-framework/index.d.ts.map +1 -0
  352. package/dist/tableau-framework/index.js +11 -0
  353. package/dist/tableau-framework/index.js.map +1 -0
  354. package/dist/tableau-framework/propositional.d.ts +11 -0
  355. package/dist/tableau-framework/propositional.d.ts.map +1 -0
  356. package/dist/tableau-framework/propositional.js +143 -0
  357. package/dist/tableau-framework/propositional.js.map +1 -0
  358. package/dist/tableau-framework/types.d.ts +32 -0
  359. package/dist/tableau-framework/types.d.ts.map +1 -0
  360. package/dist/tableau-framework/types.js +6 -0
  361. package/dist/tableau-framework/types.js.map +1 -0
  362. package/dist/tests/anti-unification/anti-unify.test.d.ts +2 -0
  363. package/dist/tests/anti-unification/anti-unify.test.d.ts.map +1 -0
  364. package/dist/tests/anti-unification/anti-unify.test.js +219 -0
  365. package/dist/tests/anti-unification/anti-unify.test.js.map +1 -0
  366. package/dist/tests/coinduction/coinduction.test.d.ts +2 -0
  367. package/dist/tests/coinduction/coinduction.test.d.ts.map +1 -0
  368. package/dist/tests/coinduction/coinduction.test.js +217 -0
  369. package/dist/tests/coinduction/coinduction.test.js.map +1 -0
  370. package/dist/tests/combinators-ski/combinators-ski.test.d.ts +2 -0
  371. package/dist/tests/combinators-ski/combinators-ski.test.d.ts.map +1 -0
  372. package/dist/tests/combinators-ski/combinators-ski.test.js +211 -0
  373. package/dist/tests/combinators-ski/combinators-ski.test.js.map +1 -0
  374. package/dist/tests/constructive-reals/constructive-reals.test.d.ts +2 -0
  375. package/dist/tests/constructive-reals/constructive-reals.test.d.ts.map +1 -0
  376. package/dist/tests/constructive-reals/constructive-reals.test.js +357 -0
  377. package/dist/tests/constructive-reals/constructive-reals.test.js.map +1 -0
  378. package/dist/tests/coverage-fill-aristotelian.test.js +1 -1
  379. package/dist/tests/coverage-fill-aristotelian.test.js.map +1 -1
  380. package/dist/tests/coverage-fill-fallacies.test.js +1 -1
  381. package/dist/tests/coverage-fill-fallacies.test.js.map +1 -1
  382. package/dist/tests/coverage-fill-format.test.js +1 -1
  383. package/dist/tests/coverage-fill-format.test.js.map +1 -1
  384. package/dist/tests/coverage-fill-intuitionistic.test.js +1 -1
  385. package/dist/tests/coverage-fill-intuitionistic.test.js.map +1 -1
  386. package/dist/tests/coverage-fill-probabilistic.test.js +1 -1
  387. package/dist/tests/coverage-fill-probabilistic.test.js.map +1 -1
  388. package/dist/tests/csp/csp.test.d.ts +2 -0
  389. package/dist/tests/csp/csp.test.d.ts.map +1 -0
  390. package/dist/tests/csp/csp.test.js +292 -0
  391. package/dist/tests/csp/csp.test.js.map +1 -0
  392. package/dist/tests/game-semantics/game-semantics.test.d.ts +2 -0
  393. package/dist/tests/game-semantics/game-semantics.test.d.ts.map +1 -0
  394. package/dist/tests/game-semantics/game-semantics.test.js +143 -0
  395. package/dist/tests/game-semantics/game-semantics.test.js.map +1 -0
  396. package/dist/tests/higher-order-unify/ho-unify.test.d.ts +2 -0
  397. package/dist/tests/higher-order-unify/ho-unify.test.d.ts.map +1 -0
  398. package/dist/tests/higher-order-unify/ho-unify.test.js +264 -0
  399. package/dist/tests/higher-order-unify/ho-unify.test.js.map +1 -0
  400. package/dist/tests/integration/cross-modules.test.d.ts +8 -0
  401. package/dist/tests/integration/cross-modules.test.d.ts.map +1 -0
  402. package/dist/tests/integration/cross-modules.test.js +668 -0
  403. package/dist/tests/integration/cross-modules.test.js.map +1 -0
  404. package/dist/tests/lambda-calc/lambda-calc.test.js.map +1 -1
  405. package/dist/tests/many-valued/many-valued.test.js.map +1 -1
  406. package/dist/tests/markov-logic/markov-logic.test.d.ts +2 -0
  407. package/dist/tests/markov-logic/markov-logic.test.d.ts.map +1 -0
  408. package/dist/tests/markov-logic/markov-logic.test.js +349 -0
  409. package/dist/tests/markov-logic/markov-logic.test.js.map +1 -0
  410. package/dist/tests/mltt/mltt.test.d.ts +2 -0
  411. package/dist/tests/mltt/mltt.test.d.ts.map +1 -0
  412. package/dist/tests/mltt/mltt.test.js +181 -0
  413. package/dist/tests/mltt/mltt.test.js.map +1 -0
  414. package/dist/tests/mu-calculus/check.test.d.ts +2 -0
  415. package/dist/tests/mu-calculus/check.test.d.ts.map +1 -0
  416. package/dist/tests/mu-calculus/check.test.js +234 -0
  417. package/dist/tests/mu-calculus/check.test.js.map +1 -0
  418. package/dist/tests/nbe/nbe.test.d.ts +2 -0
  419. package/dist/tests/nbe/nbe.test.d.ts.map +1 -0
  420. package/dist/tests/nbe/nbe.test.js +121 -0
  421. package/dist/tests/nbe/nbe.test.js.map +1 -0
  422. package/dist/tests/pi-calculus/pi-calculus.test.d.ts +2 -0
  423. package/dist/tests/pi-calculus/pi-calculus.test.d.ts.map +1 -0
  424. package/dist/tests/pi-calculus/pi-calculus.test.js +273 -0
  425. package/dist/tests/pi-calculus/pi-calculus.test.js.map +1 -0
  426. package/dist/tests/planning/planning.test.d.ts +2 -0
  427. package/dist/tests/planning/planning.test.d.ts.map +1 -0
  428. package/dist/tests/planning/planning.test.js +397 -0
  429. package/dist/tests/planning/planning.test.js.map +1 -0
  430. package/dist/tests/profile-bridge/translations.test.d.ts +2 -0
  431. package/dist/tests/profile-bridge/translations.test.d.ts.map +1 -0
  432. package/dist/tests/profile-bridge/translations.test.js +266 -0
  433. package/dist/tests/profile-bridge/translations.test.js.map +1 -0
  434. package/dist/tests/proof-nets/proof-nets.test.d.ts +2 -0
  435. package/dist/tests/proof-nets/proof-nets.test.d.ts.map +1 -0
  436. package/dist/tests/proof-nets/proof-nets.test.js +263 -0
  437. package/dist/tests/proof-nets/proof-nets.test.js.map +1 -0
  438. package/dist/tests/refinement-types/refinement-types.test.d.ts +2 -0
  439. package/dist/tests/refinement-types/refinement-types.test.d.ts.map +1 -0
  440. package/dist/tests/refinement-types/refinement-types.test.js +174 -0
  441. package/dist/tests/refinement-types/refinement-types.test.js.map +1 -0
  442. package/dist/tests/sequent-lk/prover.test.d.ts +2 -0
  443. package/dist/tests/sequent-lk/prover.test.d.ts.map +1 -0
  444. package/dist/tests/sequent-lk/prover.test.js +317 -0
  445. package/dist/tests/sequent-lk/prover.test.js.map +1 -0
  446. package/dist/tests/symbolic-diff/symbolic-diff.test.js.map +1 -1
  447. package/dist/tests/system-f/system-f.test.d.ts +2 -0
  448. package/dist/tests/system-f/system-f.test.d.ts.map +1 -0
  449. package/dist/tests/system-f/system-f.test.js +217 -0
  450. package/dist/tests/system-f/system-f.test.js.map +1 -0
  451. package/dist/tests/tableau-framework/tableau.test.d.ts +2 -0
  452. package/dist/tests/tableau-framework/tableau.test.d.ts.map +1 -0
  453. package/dist/tests/tableau-framework/tableau.test.js +196 -0
  454. package/dist/tests/tableau-framework/tableau.test.js.map +1 -0
  455. package/dist/tests/theorem-cache/cache.test.d.ts +2 -0
  456. package/dist/tests/theorem-cache/cache.test.d.ts.map +1 -0
  457. package/dist/tests/theorem-cache/cache.test.js +510 -0
  458. package/dist/tests/theorem-cache/cache.test.js.map +1 -0
  459. package/package.json +1 -1
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // Higher-order unification — Algoritmo de unificación Miller
4
+ // ============================================================
5
+ //
6
+ // Implementa el fragmento de patrón de la unificación de orden superior.
7
+ // Referencia: Dale Miller, "A Logic Programming Language with Lambda
8
+ // Abstraction, Function Variables, and Simple Unification", 1991.
9
+ //
10
+ // Garantías del fragmento de patrón:
11
+ // - Decidible (siempre termina).
12
+ // - Unicidad: si existe unificador, existe un único MGU (most general
13
+ // unifier) módulo α-equivalencia.
14
+ //
15
+ // Manejo de terms no-patrón:
16
+ // Los pares que involucran meta-variables aplicadas a no-variables o
17
+ // variables repetidas/libres se rechazan (retornan null) para mantener
18
+ // la decidibilidad. Ver `isPattern` en pattern.ts.
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.unifyPattern = unifyPattern;
21
+ exports.buildLambdaBinding = buildLambdaBinding;
22
+ exports.unifyMetaApp = unifyMetaApp;
23
+ const normalize_1 = require("./normalize");
24
+ const pattern_1 = require("./pattern");
25
+ // Unifica dos HOTerms usando el algoritmo de patrón Miller.
26
+ // Devuelve la sustitución de meta-variables (MGU) o null si no unifican.
27
+ function unifyPattern(t1, t2) {
28
+ const subst = {};
29
+ const ok = unify((0, normalize_1.normalize)(t1), (0, normalize_1.normalize)(t2), subst, new Map(), new Map());
30
+ return ok ? subst : null;
31
+ }
32
+ // Función recursiva de unificación.
33
+ // `envL` / `envR` mapean nombres de variables ligadas a índices de De Bruijn
34
+ // para comparación α-invariante de variables ligadas.
35
+ function unify(t1, t2, subst, envL, envR) {
36
+ // Expandir meta-variables si ya tienen binding
37
+ const s1 = deref(t1, subst);
38
+ const s2 = deref(t2, subst);
39
+ // Ambas son meta iguales sin binding → trivialmente iguales
40
+ if (s1.kind === 'meta' && s2.kind === 'meta' && s1.name === s2.name)
41
+ return true;
42
+ // Meta del lado izquierdo
43
+ if (s1.kind === 'meta') {
44
+ return bindMeta(s1.name, s2, subst, envR);
45
+ }
46
+ // Meta del lado derecho
47
+ if (s2.kind === 'meta') {
48
+ return bindMeta(s2.name, s1, subst, envL);
49
+ }
50
+ // Variables libres/ligadas
51
+ if (s1.kind === 'var' && s2.kind === 'var') {
52
+ const i1 = envL.get(s1.name);
53
+ const i2 = envR.get(s2.name);
54
+ if (i1 !== undefined && i2 !== undefined)
55
+ return i1 === i2; // ambas ligadas
56
+ if (i1 === undefined && i2 === undefined)
57
+ return s1.name === s2.name; // ambas libres
58
+ return false; // una ligada, una libre
59
+ }
60
+ // Abstracciones: introducir binder fresco para comparación
61
+ if (s1.kind === 'abs' && s2.kind === 'abs') {
62
+ const idx = envL.size; // índice único para este nivel de ligado
63
+ const newEnvL = new Map(envL);
64
+ newEnvL.set(s1.param, idx);
65
+ const newEnvR = new Map(envR);
66
+ newEnvR.set(s2.param, idx);
67
+ return unify(s1.body, s2.body, subst, newEnvL, newEnvR);
68
+ }
69
+ // Aplicaciones: detectar el caso Miller (meta aplicada a vars ligadas)
70
+ if (s1.kind === 'app' || s2.kind === 'app') {
71
+ const f1 = s1.kind === 'app' ? flatHead(s1) : { fn: s1, args: [] };
72
+ const f2 = s2.kind === 'app' ? flatHead(s2) : { fn: s2, args: [] };
73
+ // Caso Miller: meta en cabeza de una app
74
+ // Verificamos la condición de patrón: args deben ser variables ligadas distintas
75
+ if (f1.fn.kind === 'meta' && f1.fn !== f2.fn) {
76
+ if (!isMetaPatternApp(f1.args, envL))
77
+ return false;
78
+ return bindMetaApp(f1.fn.name, f1.args, s2, subst, envL, envR);
79
+ }
80
+ if (f2.fn.kind === 'meta' && f2.fn !== f1.fn) {
81
+ if (!isMetaPatternApp(f2.args, envR))
82
+ return false;
83
+ return bindMetaApp(f2.fn.name, f2.args, s1, subst, envR, envL);
84
+ }
85
+ // Caso rigid-rigid: ambas cabezas son constructores concretos
86
+ if (s1.kind === 'app' && s2.kind === 'app') {
87
+ if (!unify(f1.fn, f2.fn, subst, envL, envR))
88
+ return false;
89
+ if (f1.args.length !== f2.args.length)
90
+ return false;
91
+ for (let i = 0; i < f1.args.length; i++) {
92
+ if (!unify(f1.args[i], f2.args[i], subst, envL, envR))
93
+ return false;
94
+ }
95
+ return true;
96
+ }
97
+ }
98
+ return false; // kinds distintos, no se unifican
99
+ }
100
+ // Verifica que los args de una app con cabeza meta son todas variables
101
+ // ligadas y distintas (condición de patrón Miller).
102
+ function isMetaPatternApp(args, env) {
103
+ const seen = new Set();
104
+ for (const a of args) {
105
+ if (a.kind !== 'var')
106
+ return false;
107
+ const idx = env.get(a.name);
108
+ if (idx === undefined)
109
+ return false; // variable libre, no ligada
110
+ if (seen.has(idx))
111
+ return false; // repetida
112
+ seen.add(idx);
113
+ }
114
+ return true;
115
+ }
116
+ // Resuelve el caso Miller: metaName aplicado a [y₁…yₙ] (vars ligadas distintas)
117
+ // debe unificar con `rhs`. Construye M ↦ λy₁…yₙ. rhs' donde rhs' es rhs
118
+ // expresado en términos de los parámetros formales.
119
+ // envMeta es el entorno del lado donde vive la meta; envRhs es el del rhs.
120
+ function bindMetaApp(metaName, metaArgs, rhs, subst, envMeta, envRhs) {
121
+ // Los parámetros formales de la lambda que vamos a construir son
122
+ // los nombres reales de las vars ligadas (de izquierda a derecha).
123
+ const params = metaArgs.map((a) => a.name);
124
+ // Para construir el binding correcto de M, necesitamos reescribir `rhs`
125
+ // sustituyendo las variables del envRhs que corresponden a los params
126
+ // de envMeta por los mismos nombres que usaremos en la lambda.
127
+ // En el caso más simple (mismo conjunto de binders) es la identidad.
128
+ // Construimos: M ↦ λp₁…pₙ. rhs_reescrito
129
+ const lambda = buildLambdaForMeta(params, rhs, envMeta, envRhs);
130
+ if (lambda === null)
131
+ return false;
132
+ // Occurs check
133
+ if (metaOccurs(metaName, lambda, subst))
134
+ return false;
135
+ subst[metaName] = lambda;
136
+ return true;
137
+ }
138
+ // Construye λp₁…pₙ. body donde body es `rhs` con las variables ligadas
139
+ // de envRhs que tienen el mismo índice que los params en envMeta
140
+ // renombradas a p₁…pₙ.
141
+ function buildLambdaForMeta(params, rhs, envMeta, envRhs) {
142
+ // Mapeamos índices de De Bruijn del meta → nombre de param formal
143
+ const idxToParam = new Map();
144
+ for (const p of params) {
145
+ const idx = envMeta.get(p);
146
+ if (idx === undefined)
147
+ return null;
148
+ idxToParam.set(idx, p);
149
+ }
150
+ // Renombramos en rhs las variables ligadas cuyos índices correspondan
151
+ // a los parámetros de la meta.
152
+ const body = renameByIndex(rhs, envRhs, idxToParam);
153
+ if (body === null)
154
+ return null;
155
+ // Construir λp₁. λp₂. … body
156
+ let result = body;
157
+ for (let i = params.length - 1; i >= 0; i--) {
158
+ result = { kind: 'abs', param: params[i], body: result };
159
+ }
160
+ return result;
161
+ }
162
+ // Renombra las variables libres de `t` (en el sentido de `env`) que tienen
163
+ // un índice en `idxToParam` con el nombre param correspondiente.
164
+ // Devuelve null si alguna variable ligada del scope local no está en
165
+ // idxToParam (implicaría que rhs menciona una variable local que no es
166
+ // argumento del meta → escapa de scope).
167
+ function renameByIndex(t, env, idxToParam) {
168
+ switch (t.kind) {
169
+ case 'meta':
170
+ return t;
171
+ case 'var': {
172
+ const idx = env.get(t.name);
173
+ if (idx === undefined)
174
+ return t; // variable libre del objeto-lenguaje: OK
175
+ const param = idxToParam.get(idx);
176
+ if (param === undefined)
177
+ return null; // ligada local no en scope del meta: escapa
178
+ return { kind: 'var', name: param };
179
+ }
180
+ case 'abs': {
181
+ // El param del abs introduce un índice nuevo; no lo incluimos en env
182
+ // (o usamos un índice negativo para "más interno")
183
+ const newEnv = new Map(env);
184
+ // Damos un índice fresco negativo para indicar "ligada más internamente"
185
+ // que todas las del contexto actual → nunca está en idxToParam.
186
+ const innerIdx = -(newEnv.size + 1);
187
+ newEnv.set(t.param, innerIdx);
188
+ const b = renameByIndex(t.body, newEnv, idxToParam);
189
+ if (b === null)
190
+ return null;
191
+ return { kind: 'abs', param: t.param, body: b };
192
+ }
193
+ case 'app': {
194
+ const fn = renameByIndex(t.fn, env, idxToParam);
195
+ if (fn === null)
196
+ return null;
197
+ const args = [];
198
+ for (const a of t.args) {
199
+ const a2 = renameByIndex(a, env, idxToParam);
200
+ if (a2 === null)
201
+ return null;
202
+ args.push(a2);
203
+ }
204
+ return { kind: 'app', fn, args };
205
+ }
206
+ }
207
+ }
208
+ // Aplana app anidadas para facilitar comparación cabeza-argumentos.
209
+ function flatHead(t) {
210
+ if (t.kind !== 'app')
211
+ return { fn: t, args: [] };
212
+ const inner = flatHead(t.fn);
213
+ return { fn: inner.fn, args: [...inner.args, ...t.args] };
214
+ }
215
+ // Expande una meta-variable si tiene binding en subst.
216
+ function deref(t, subst) {
217
+ if (t.kind === 'meta') {
218
+ const binding = subst[t.name];
219
+ if (binding !== undefined)
220
+ return deref((0, normalize_1.normalize)((0, normalize_1.applyHOSubst)(binding, subst)), subst);
221
+ }
222
+ return t;
223
+ }
224
+ // Intenta ligar la meta-variable `metaName` al término `value`.
225
+ // `env` es el entorno de variables ligadas del lado donde vive `value`.
226
+ function bindMeta(metaName, value, subst, env) {
227
+ // Occurs check: la meta no puede aparecer en su propio binding
228
+ if (metaOccurs(metaName, value, subst))
229
+ return false;
230
+ // Verificar que el valor es un pattern en el contexto dado
231
+ // (necesitamos reconstruir el scope de variables ligadas desde `env`)
232
+ const boundScope = new Set(env.keys());
233
+ if (!(0, pattern_1.isPattern)(value, boundScope))
234
+ return false;
235
+ // El binding debe ser cerrado: las variables libres del valor deben
236
+ // estar disponibles en el scope del meta (conservador: aceptamos si
237
+ // las FV son todas libres en el objeto-lenguaje, no ligadas locales
238
+ // que no estarán en scope del meta).
239
+ // Para el fragmento de patrón el check de scope es:
240
+ // FV(value) ∩ bound_vars_local = ∅ (variables ligadas localmente
241
+ // no pueden escapar a través del meta).
242
+ // En nuestro caso `env` contiene exactamente las variables ligadas del
243
+ // lado donde nace `value`; las FV del value que NO están en `env` son
244
+ // variables libres del objeto-lenguaje, que sí pueden aparecer en el
245
+ // binding del meta.
246
+ const fv = (0, normalize_1.freeVarsHO)(value);
247
+ for (const v of fv) {
248
+ if (env.has(v))
249
+ return false; // variable ligada local escapa → rechazar
250
+ }
251
+ subst[metaName] = value;
252
+ return true;
253
+ }
254
+ // ¿La meta `name` aparece (directa o transitivamente) en `t`?
255
+ function metaOccurs(name, t, subst) {
256
+ switch (t.kind) {
257
+ case 'var':
258
+ return false;
259
+ case 'meta': {
260
+ if (t.name === name)
261
+ return true;
262
+ const binding = subst[t.name];
263
+ return binding !== undefined ? metaOccurs(name, binding, subst) : false;
264
+ }
265
+ case 'abs':
266
+ return metaOccurs(name, t.body, subst);
267
+ case 'app':
268
+ if (metaOccurs(name, t.fn, subst))
269
+ return true;
270
+ for (const a of t.args) {
271
+ if (metaOccurs(name, a, subst))
272
+ return true;
273
+ }
274
+ return false;
275
+ }
276
+ }
277
+ // ---- Utilidad: proyección inversa para meta aplicada a variables ----
278
+ //
279
+ // Cuando se une M[y₁…yₙ] ≈ body (pattern case), el MGU es
280
+ // M ↦ λy₁…yₙ. body
281
+ // Esta función construye ese lambda dado el binding encontrado.
282
+ function buildLambdaBinding(params, body, avoidNames) {
283
+ // Usamos los params tal cual; si hay conflictos de nombres en body,
284
+ // la sustitución capture-avoiding de applyHOSubst se encarga.
285
+ let result = body;
286
+ for (let i = params.length - 1; i >= 0; i--) {
287
+ const p = params[i];
288
+ result = { kind: 'abs', param: p, body: result };
289
+ }
290
+ void avoidNames; // reservado para extensión
291
+ return result;
292
+ }
293
+ // Unifica M aplicada a variables ligadas con un cuerpo.
294
+ // Caso central del fragmento Miller: (M y₁ … yₙ) ≈ body
295
+ // donde yᵢ son variables ligadas distintas.
296
+ // Retorna HOSubst con M ↦ λy₁…yₙ. body, o null si no es patrón.
297
+ function unifyMetaApp(metaName, boundVars, body) {
298
+ // Verificar que boundVars son distintos
299
+ if (new Set(boundVars).size !== boundVars.length)
300
+ return null;
301
+ // Construir la abstracción
302
+ const avoid = (0, normalize_1.allNamesHO)(body);
303
+ const lambda = buildLambdaBinding(boundVars, body, avoid);
304
+ return { [metaName]: lambda };
305
+ }
306
+ //# sourceMappingURL=unify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unify.js","sourceRoot":"","sources":["../../src/higher-order-unify/unify.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -33,6 +33,8 @@ export { solveCDCLv2 } from './solver/cdcl-v2';
33
33
  export { evalParallel, shutdownPool } from './runtime/parallel';
34
34
  export type { ParallelEvalOptions, ParallelEvalResult } from './runtime/parallel';
35
35
  export { DerivationCache, hashFormula } from './runtime/memo';
36
+ export { TheoremCache, tryReuseProof } from './runtime/theorem-cache';
37
+ export type { CachedTheorem, CacheOptions as TheoremCacheOptions, CacheStats as TheoremCacheStats, ReuseResult as TheoremReuseResult, } from './runtime/theorem-cache';
36
38
  export { streamEval } from './runtime/streaming';
37
39
  export type { StreamEvent } from './runtime/streaming';
38
40
  export { minimizeCountermodel } from './runtime/countermodel-min';
@@ -55,6 +57,8 @@ export { deriveWithCitations, explainProof } from './citation-reasoning';
55
57
  export type { CitedClaim, CitationDerivation, CitationDerivationResult, DerivationStep, Evaluator, } from './citation-reasoning';
56
58
  export { inferType, isInferError, reduceBeta, normalize, isNormal, termToProof, proofToTerm, proofIsConsistent, ProofConversionError, typeToString as chTypeToString, termToString as chTermToString, eqType as chEqType, } from './curry-howard';
57
59
  export type { PropType, LambdaTerm, ProofTree, ProofRule, Context as CHContext, InferResult, } from './curry-howard';
60
+ export { mVar, mUniverse, mPi, mLam, mApp, mSigma, mPair, mFst, mSnd, mId, mRefl, mNat, mZero, mSucc, mArrow, inferType as mlttInferType, checkType as mlttCheckType, isInferError as mlttIsInferError, normalize as mlttNormalize, reduceStep as mlttReduceStep, isNormal as mlttIsNormal, alphaEq as mlttAlphaEq, alphaBetaEq as mlttAlphaBetaEq, substitute as mlttSubstitute, freeVars as mlttFreeVars, occursFree as mlttOccursFree, termToString as mlttTermToString, } from './mltt';
61
+ export type { MLTTTerm, InferContext as MLTTInferContext, InferResult as MLTTInferResult, } from './mltt';
58
62
  export { v as lcVar, lam as lcLam, ap as lcAp, apN as lcApN, alphaEq as lcAlphaEq, termToString as lcTermToString, freeVars as lcFreeVars, substitute as lcSubstitute, alphaRename as lcAlphaRename, makeFreshSupply as lcMakeFreshSupply, betaStep as lcBetaStep, etaStep as lcEtaStep, normalize as lcNormalize, isNormalForm as lcIsNormalForm, isWeakHeadNormalForm as lcIsWHNF, I as lcI, K as lcK, S as lcS, Y as lcY, omega as lcOmega, omegaSmall as lcOmegaSmall, churchNumeral as lcChurchNumeral, decodeChurch as lcDecodeChurch, evalChurch as lcEvalChurch, churchSucc as lcChurchSucc, churchAdd as lcChurchAdd, churchMul as lcChurchMul, } from './lambda-calc';
59
63
  export type { Term as LCTerm, BetaStrategy as LCBetaStrategy, NormalStrategy as LCNormalStrategy, NormalizeOpts as LCNormalizeOpts, NormalizeResult as LCNormalizeResult, } from './lambda-calc';
60
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,8 +18,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.TypeChecker = exports.typeCheck = exports.REPL = exports.ProtocolHandler = exports.Interpreter = exports.CycleError = exports.ClaimGraph = exports.registerInterpretation = exports.registerSource = exports.registerDefinition = exports.compileClaimsToTheory = exports.registerContext = exports.registerConfidence = exports.registerSupport = exports.registerClaim = exports.registerFormalization = exports.registerPassage = exports.parseAnchorPath = exports.createTextLayerState = exports.detectFallacies = exports.formulaToLaTeX = exports.formulaToUnicode = exports.PARALLEL_THRESHOLD = exports.workersAvailable = exports.dpllAsync = exports.dpll = exports.cdclAsync = exports.cdcl = exports.ParaconsistentBelnap = exports.ModalK = exports.ClassicalFirstOrder = exports.formulaToString = exports.ClassicalPropositional = exports.registry = exports.ProfileRegistry = exports.Parser = exports.KEYWORDS = exports.TokenType = exports.Lexer = exports.render = exports.completion = exports.gotoDefinition = exports.symbols = exports.hover = exports.listProfiles = exports.createInterpreter = exports.quickEval = exports.check = exports.parse = exports.evaluate = void 0;
21
- exports.chTypeToString = exports.ProofConversionError = exports.proofIsConsistent = exports.proofToTerm = exports.termToProof = exports.isNormal = exports.normalize = exports.reduceBeta = exports.isInferError = exports.inferType = exports.explainProof = exports.deriveWithCitations = exports.detectAvailableSMT = exports.SubprocessSMTBackend = exports.MockSMTBackend = exports.toSMTLIB = exports.generateLessonPath = exports.checkAnswer = exports.generateExercise = exports.SnapshotStore = exports.captureSnapshot = exports.generateKeyPair = exports.verifyProof = exports.signProof = exports.hashProof = exports.canonicalize = exports.toCNF = exports.skolemize = exports.unify = exports.proveFOL = exports.dotExport = exports.defends = exports.isConflictFree = exports.isAdmissible = exports.computeExtensions = exports.exportProofToCoq = exports.exportToCoq = exports.removeUnusedSubproofs = exports.compactModusPonensChain = exports.minifyProof = exports.minimizeCountermodel = exports.streamEval = exports.hashFormula = exports.DerivationCache = exports.shutdownPool = exports.evalParallel = exports.solveCDCLv2 = exports.BaseASTVisitor = exports.visitProgram = exports.visit = void 0;
22
- exports.lcChurchMul = exports.lcChurchAdd = exports.lcChurchSucc = exports.lcEvalChurch = exports.lcDecodeChurch = exports.lcChurchNumeral = exports.lcOmegaSmall = exports.lcOmega = exports.lcY = exports.lcS = exports.lcK = exports.lcI = exports.lcIsWHNF = exports.lcIsNormalForm = exports.lcNormalize = exports.lcEtaStep = exports.lcBetaStep = exports.lcMakeFreshSupply = exports.lcAlphaRename = exports.lcSubstitute = exports.lcFreeVars = exports.lcTermToString = exports.lcAlphaEq = exports.lcApN = exports.lcAp = exports.lcLam = exports.lcVar = exports.chEqType = exports.chTermToString = void 0;
21
+ exports.proofIsConsistent = exports.proofToTerm = exports.termToProof = exports.isNormal = exports.normalize = exports.reduceBeta = exports.isInferError = exports.inferType = exports.explainProof = exports.deriveWithCitations = exports.detectAvailableSMT = exports.SubprocessSMTBackend = exports.MockSMTBackend = exports.toSMTLIB = exports.generateLessonPath = exports.checkAnswer = exports.generateExercise = exports.SnapshotStore = exports.captureSnapshot = exports.generateKeyPair = exports.verifyProof = exports.signProof = exports.hashProof = exports.canonicalize = exports.toCNF = exports.skolemize = exports.unify = exports.proveFOL = exports.dotExport = exports.defends = exports.isConflictFree = exports.isAdmissible = exports.computeExtensions = exports.exportProofToCoq = exports.exportToCoq = exports.removeUnusedSubproofs = exports.compactModusPonensChain = exports.minifyProof = exports.minimizeCountermodel = exports.streamEval = exports.tryReuseProof = exports.TheoremCache = exports.hashFormula = exports.DerivationCache = exports.shutdownPool = exports.evalParallel = exports.solveCDCLv2 = exports.BaseASTVisitor = exports.visitProgram = exports.visit = void 0;
22
+ exports.lcY = exports.lcS = exports.lcK = exports.lcI = exports.lcIsWHNF = exports.lcIsNormalForm = exports.lcNormalize = exports.lcEtaStep = exports.lcBetaStep = exports.lcMakeFreshSupply = exports.lcAlphaRename = exports.lcSubstitute = exports.lcFreeVars = exports.lcTermToString = exports.lcAlphaEq = exports.lcApN = exports.lcAp = exports.lcLam = exports.lcVar = exports.mlttTermToString = exports.mlttOccursFree = exports.mlttFreeVars = exports.mlttSubstitute = exports.mlttAlphaBetaEq = exports.mlttAlphaEq = exports.mlttIsNormal = exports.mlttReduceStep = exports.mlttNormalize = exports.mlttIsInferError = exports.mlttCheckType = exports.mlttInferType = exports.mArrow = exports.mSucc = exports.mZero = exports.mNat = exports.mRefl = exports.mId = exports.mSnd = exports.mFst = exports.mPair = exports.mSigma = exports.mApp = exports.mLam = exports.mPi = exports.mUniverse = exports.mVar = exports.chEqType = exports.chTermToString = exports.chTypeToString = exports.ProofConversionError = void 0;
23
+ exports.lcChurchMul = exports.lcChurchAdd = exports.lcChurchSucc = exports.lcEvalChurch = exports.lcDecodeChurch = exports.lcChurchNumeral = exports.lcOmegaSmall = exports.lcOmega = void 0;
23
24
  // API programática (uso recomendado para integración)
24
25
  var api_1 = require("./api");
25
26
  Object.defineProperty(exports, "evaluate", { enumerable: true, get: function () { return api_1.evaluate; } });
@@ -123,6 +124,10 @@ Object.defineProperty(exports, "shutdownPool", { enumerable: true, get: function
123
124
  var memo_1 = require("./runtime/memo");
124
125
  Object.defineProperty(exports, "DerivationCache", { enumerable: true, get: function () { return memo_1.DerivationCache; } });
125
126
  Object.defineProperty(exports, "hashFormula", { enumerable: true, get: function () { return memo_1.hashFormula; } });
127
+ // Theorem cache (proof reuse persistente)
128
+ var theorem_cache_1 = require("./runtime/theorem-cache");
129
+ Object.defineProperty(exports, "TheoremCache", { enumerable: true, get: function () { return theorem_cache_1.TheoremCache; } });
130
+ Object.defineProperty(exports, "tryReuseProof", { enumerable: true, get: function () { return theorem_cache_1.tryReuseProof; } });
126
131
  // Streaming
127
132
  var streaming_1 = require("./runtime/streaming");
128
133
  Object.defineProperty(exports, "streamEval", { enumerable: true, get: function () { return streaming_1.streamEval; } });
@@ -191,6 +196,35 @@ Object.defineProperty(exports, "ProofConversionError", { enumerable: true, get:
191
196
  Object.defineProperty(exports, "chTypeToString", { enumerable: true, get: function () { return curry_howard_1.typeToString; } });
192
197
  Object.defineProperty(exports, "chTermToString", { enumerable: true, get: function () { return curry_howard_1.termToString; } });
193
198
  Object.defineProperty(exports, "chEqType", { enumerable: true, get: function () { return curry_howard_1.eqType; } });
199
+ // MLTT — Martin-Löf Type Theory (Π/Σ/Id/Nat + universos)
200
+ var mltt_1 = require("./mltt");
201
+ Object.defineProperty(exports, "mVar", { enumerable: true, get: function () { return mltt_1.mVar; } });
202
+ Object.defineProperty(exports, "mUniverse", { enumerable: true, get: function () { return mltt_1.mUniverse; } });
203
+ Object.defineProperty(exports, "mPi", { enumerable: true, get: function () { return mltt_1.mPi; } });
204
+ Object.defineProperty(exports, "mLam", { enumerable: true, get: function () { return mltt_1.mLam; } });
205
+ Object.defineProperty(exports, "mApp", { enumerable: true, get: function () { return mltt_1.mApp; } });
206
+ Object.defineProperty(exports, "mSigma", { enumerable: true, get: function () { return mltt_1.mSigma; } });
207
+ Object.defineProperty(exports, "mPair", { enumerable: true, get: function () { return mltt_1.mPair; } });
208
+ Object.defineProperty(exports, "mFst", { enumerable: true, get: function () { return mltt_1.mFst; } });
209
+ Object.defineProperty(exports, "mSnd", { enumerable: true, get: function () { return mltt_1.mSnd; } });
210
+ Object.defineProperty(exports, "mId", { enumerable: true, get: function () { return mltt_1.mId; } });
211
+ Object.defineProperty(exports, "mRefl", { enumerable: true, get: function () { return mltt_1.mRefl; } });
212
+ Object.defineProperty(exports, "mNat", { enumerable: true, get: function () { return mltt_1.mNat; } });
213
+ Object.defineProperty(exports, "mZero", { enumerable: true, get: function () { return mltt_1.mZero; } });
214
+ Object.defineProperty(exports, "mSucc", { enumerable: true, get: function () { return mltt_1.mSucc; } });
215
+ Object.defineProperty(exports, "mArrow", { enumerable: true, get: function () { return mltt_1.mArrow; } });
216
+ Object.defineProperty(exports, "mlttInferType", { enumerable: true, get: function () { return mltt_1.inferType; } });
217
+ Object.defineProperty(exports, "mlttCheckType", { enumerable: true, get: function () { return mltt_1.checkType; } });
218
+ Object.defineProperty(exports, "mlttIsInferError", { enumerable: true, get: function () { return mltt_1.isInferError; } });
219
+ Object.defineProperty(exports, "mlttNormalize", { enumerable: true, get: function () { return mltt_1.normalize; } });
220
+ Object.defineProperty(exports, "mlttReduceStep", { enumerable: true, get: function () { return mltt_1.reduceStep; } });
221
+ Object.defineProperty(exports, "mlttIsNormal", { enumerable: true, get: function () { return mltt_1.isNormal; } });
222
+ Object.defineProperty(exports, "mlttAlphaEq", { enumerable: true, get: function () { return mltt_1.alphaEq; } });
223
+ Object.defineProperty(exports, "mlttAlphaBetaEq", { enumerable: true, get: function () { return mltt_1.alphaBetaEq; } });
224
+ Object.defineProperty(exports, "mlttSubstitute", { enumerable: true, get: function () { return mltt_1.substitute; } });
225
+ Object.defineProperty(exports, "mlttFreeVars", { enumerable: true, get: function () { return mltt_1.freeVars; } });
226
+ Object.defineProperty(exports, "mlttOccursFree", { enumerable: true, get: function () { return mltt_1.occursFree; } });
227
+ Object.defineProperty(exports, "mlttTermToString", { enumerable: true, get: function () { return mltt_1.termToString; } });
194
228
  // λ-cálculo untyped puro — β/η, estrategias, combinadores, Church numerals
195
229
  var lambda_calc_1 = require("./lambda-calc");
196
230
  Object.defineProperty(exports, "lcVar", { enumerable: true, get: function () { return lambda_calc_1.v; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"church.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/church.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAKpC,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAO7C;AAKD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAenD;AAID,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,SAAO,GAAG,MAAM,GAAG,IAAI,CAIlE;AAGD,eAAO,MAAM,UAAU,EAAE,IAGxB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,IAMvB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,IAGvB,CAAC"}
1
+ {"version":3,"file":"church.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/church.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAKpC,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAO7C;AAKD,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAenD;AAID,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,SAAO,GAAG,MAAM,GAAG,IAAI,CAIlE;AAGD,eAAO,MAAM,UAAU,EAAE,IAGxB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,IAGvB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,IAAmE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"church.js","sourceRoot":"","sources":["../../src/lambda-calc/church.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"church.js","sourceRoot":"","sources":["../../src/lambda-calc/church.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/combinators.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpC,eAAO,MAAM,CAAC,EAAE,IAAuB,CAAC;AAExC,eAAO,MAAM,CAAC,EAAE,IAAiC,CAAC;AAElD,eAAO,MAAM,CAAC,EAAE,IAGf,CAAC;AAGF,eAAO,MAAM,CAAC,EAAE,IAMf,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,IAAmC,CAAC;AAG7D,eAAO,MAAM,KAAK,EAAE,IAAiC,CAAC"}
1
+ {"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/combinators.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpC,eAAO,MAAM,CAAC,EAAE,IAAuB,CAAC;AAExC,eAAO,MAAM,CAAC,EAAE,IAAiC,CAAC;AAElD,eAAO,MAAM,CAAC,EAAE,IAA4E,CAAC;AAG7F,eAAO,MAAM,CAAC,EAAE,IAGf,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,IAAmC,CAAC;AAG7D,eAAO,MAAM,KAAK,EAAE,IAAiC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"combinators.js","sourceRoot":"","sources":["../../src/lambda-calc/combinators.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,4CAA4C;AAC5C,+DAA+D;AAC/D,EAAE;AACF,cAAc;AACd,iBAAiB;AACjB,2BAA2B;AAC3B,wEAAwE;AACxE,eAAe;AACf,oEAAoE;;;AAGpE,mCAA0C;AAE7B,QAAA,CAAC,GAAS,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC;AAE3B,QAAA,CAAC,GAAS,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAErC,QAAA,CAAC,GAAS,IAAA,WAAG,EACxB,GAAG,EACH,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;AAEF,wBAAwB;AACX,QAAA,CAAC,GAAS,IAAA,WAAG,EACxB,GAAG,EACH,IAAA,UAAE,EACA,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACxC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACzC,CACF,CAAC;AAEF,YAAY;AACC,QAAA,UAAU,GAAS,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE7D,0DAA0D;AAC7C,QAAA,KAAK,GAAS,IAAA,UAAE,EAAC,kBAAU,EAAE,kBAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"combinators.js","sourceRoot":"","sources":["../../src/lambda-calc/combinators.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,4CAA4C;AAC5C,+DAA+D;AAC/D,EAAE;AACF,cAAc;AACd,iBAAiB;AACjB,2BAA2B;AAC3B,wEAAwE;AACxE,eAAe;AACf,oEAAoE;;;AAGpE,mCAA0C;AAE7B,QAAA,CAAC,GAAS,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC;AAE3B,QAAA,CAAC,GAAS,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAErC,QAAA,CAAC,GAAS,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,WAAG,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7F,wBAAwB;AACX,QAAA,CAAC,GAAS,IAAA,WAAG,EACxB,GAAG,EACH,IAAA,UAAE,EAAC,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACvF,CAAC;AAEF,YAAY;AACC,QAAA,UAAU,GAAS,IAAA,WAAG,EAAC,GAAG,EAAE,IAAA,UAAE,EAAC,IAAA,SAAC,EAAC,GAAG,CAAC,EAAE,IAAA,SAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE7D,0DAA0D;AAC7C,QAAA,KAAK,GAAS,IAAA,UAAE,EAAC,kBAAU,EAAE,kBAAU,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export type { Term } from './types';
2
2
  export { v, lam, ap, apN, alphaEq, termToString } from './types';
3
3
  export { freeVars, substitute, alphaRename, makeFreshSupply } from './substitution';
4
- export { betaStep, etaStep, normalize, isNormalForm, isWeakHeadNormalForm, } from './reduce';
4
+ export { betaStep, etaStep, normalize, isNormalForm, isWeakHeadNormalForm } from './reduce';
5
5
  export type { BetaStrategy, NormalStrategy, NormalizeOpts, NormalizeResult } from './reduce';
6
6
  export { I, K, S, Y, omega, omegaSmall } from './combinators';
7
7
  export { churchNumeral, decodeChurch, evalChurch, churchSucc, churchAdd, churchMul, } from './church';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/index.ts"],"names":[],"mappings":"AAaA,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EACL,QAAQ,EACR,OAAO,EACP,SAAS,EACT,YAAY,EACZ,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE7F,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,GACV,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lambda-calc/index.ts"],"names":[],"mappings":"AAaA,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5F,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE7F,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,GACV,MAAM,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lambda-calc/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,+CAA+C;AAC/C,+DAA+D;AAC/D,EAAE;AACF,OAAO;AACP,wCAAwC;AACxC,qCAAqC;AACrC,2DAA2D;AAC3D,2EAA2E;AAC3E,kDAAkD;AAClD,gEAAgE;AAChE,yDAAyD;;;AAGzD,iCAAiE;AAAxD,0FAAA,CAAC,OAAA;AAAE,4FAAA,GAAG,OAAA;AAAE,2FAAA,EAAE,OAAA;AAAE,4FAAA,GAAG,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,qGAAA,YAAY,OAAA;AAE/C,+CAAoF;AAA3E,wGAAA,QAAQ,OAAA;AAAE,0GAAA,UAAU,OAAA;AAAE,2GAAA,WAAW,OAAA;AAAE,+GAAA,eAAe,OAAA;AAE3D,mCAMkB;AALhB,kGAAA,QAAQ,OAAA;AACR,iGAAA,OAAO,OAAA;AACP,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,8GAAA,oBAAoB,OAAA;AAItB,6CAA8D;AAArD,gGAAA,CAAC,OAAA;AAAE,gGAAA,CAAC,OAAA;AAAE,gGAAA,CAAC,OAAA;AAAE,gGAAA,CAAC,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,yGAAA,UAAU,OAAA;AAEtC,mCAOkB;AANhB,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lambda-calc/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,+CAA+C;AAC/C,+DAA+D;AAC/D,EAAE;AACF,OAAO;AACP,wCAAwC;AACxC,qCAAqC;AACrC,2DAA2D;AAC3D,2EAA2E;AAC3E,kDAAkD;AAClD,gEAAgE;AAChE,yDAAyD;;;AAGzD,iCAAiE;AAAxD,0FAAA,CAAC,OAAA;AAAE,4FAAA,GAAG,OAAA;AAAE,2FAAA,EAAE,OAAA;AAAE,4FAAA,GAAG,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,qGAAA,YAAY,OAAA;AAE/C,+CAAoF;AAA3E,wGAAA,QAAQ,OAAA;AAAE,0GAAA,UAAU,OAAA;AAAE,2GAAA,WAAW,OAAA;AAAE,+GAAA,eAAe,OAAA;AAE3D,mCAA4F;AAAnF,kGAAA,QAAQ,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAGzE,6CAA8D;AAArD,gGAAA,CAAC,OAAA;AAAE,gGAAA,CAAC,OAAA;AAAE,gGAAA,CAAC,OAAA;AAAE,gGAAA,CAAC,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,yGAAA,UAAU,OAAA;AAEtC,mCAOkB;AANhB,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA"}
@@ -0,0 +1,9 @@
1
+ import type { MLTTTerm } from './types';
2
+ /** α-equivalencia estructural sobre términos (no normaliza). */
3
+ export declare function alphaEq(a: MLTTTerm, b: MLTTTerm): boolean;
4
+ /**
5
+ * Igualdad αβ (definicional): normaliza ambos y luego compara α.
6
+ * `ctx` reservado para implementaciones futuras (η, definitional unfolding).
7
+ */
8
+ export declare function alphaBetaEq(a: MLTTTerm, b: MLTTTerm, _ctx?: Map<string, MLTTTerm>): boolean;
9
+ //# sourceMappingURL=equality.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equality.d.ts","sourceRoot":"","sources":["../../src/mltt/equality.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAyDzD;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,OAAO,CAE3F"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // MLTT — α-equivalencia y igualdad definicional (αβ-equality)
4
+ // ============================================================
5
+ //
6
+ // Igualdad definicional ≡ normalizamos ambos lados (β + ι) y
7
+ // comparamos módulo α-renombrado de binders.
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.alphaEq = alphaEq;
10
+ exports.alphaBetaEq = alphaBetaEq;
11
+ const normalize_1 = require("./normalize");
12
+ const substitute_1 = require("./substitute");
13
+ /** α-equivalencia estructural sobre términos (no normaliza). */
14
+ function alphaEq(a, b) {
15
+ if (a.kind !== b.kind)
16
+ return false;
17
+ switch (a.kind) {
18
+ case 'var':
19
+ return a.name === b.name;
20
+ case 'universe':
21
+ return a.level === b.level;
22
+ case 'nat':
23
+ case 'zero':
24
+ return true;
25
+ case 'succ':
26
+ return alphaEq(a.arg, b.arg);
27
+ case 'app': {
28
+ const bb = b;
29
+ return alphaEq(a.fn, bb.fn) && alphaEq(a.arg, bb.arg);
30
+ }
31
+ case 'pair': {
32
+ const bb = b;
33
+ return alphaEq(a.fst, bb.fst) && alphaEq(a.snd, bb.snd);
34
+ }
35
+ case 'fst':
36
+ case 'snd': {
37
+ const bb = b;
38
+ return alphaEq(a.pair, bb.pair);
39
+ }
40
+ case 'identity': {
41
+ const bb = b;
42
+ return alphaEq(a.type, bb.type) && alphaEq(a.left, bb.left) && alphaEq(a.right, bb.right);
43
+ }
44
+ case 'refl':
45
+ return alphaEq(a.term, b.term);
46
+ case 'pi':
47
+ case 'sigma': {
48
+ const bb = b;
49
+ const aDom = a.kind === 'pi' ? a.domain : a.first;
50
+ const bDom = bb.kind === 'pi' ? bb.domain : bb.first;
51
+ const aCod = a.kind === 'pi' ? a.codomain : a.second;
52
+ const bCod = bb.kind === 'pi' ? bb.codomain : bb.second;
53
+ if (!alphaEq(aDom, bDom))
54
+ return false;
55
+ if (a.bind === bb.bind)
56
+ return alphaEq(aCod, bCod);
57
+ const fresh = `__α${alphaCounter++}`;
58
+ return alphaEq((0, substitute_1.substitute)(aCod, a.bind, { kind: 'var', name: fresh }), (0, substitute_1.substitute)(bCod, bb.bind, { kind: 'var', name: fresh }));
59
+ }
60
+ case 'lam': {
61
+ const bb = b;
62
+ if (!alphaEq(a.domain, bb.domain))
63
+ return false;
64
+ if (a.bind === bb.bind)
65
+ return alphaEq(a.body, bb.body);
66
+ const fresh = `__α${alphaCounter++}`;
67
+ return alphaEq((0, substitute_1.substitute)(a.body, a.bind, { kind: 'var', name: fresh }), (0, substitute_1.substitute)(bb.body, bb.bind, { kind: 'var', name: fresh }));
68
+ }
69
+ }
70
+ }
71
+ let alphaCounter = 0;
72
+ /**
73
+ * Igualdad αβ (definicional): normaliza ambos y luego compara α.
74
+ * `ctx` reservado para implementaciones futuras (η, definitional unfolding).
75
+ */
76
+ function alphaBetaEq(a, b, _ctx) {
77
+ return alphaEq((0, normalize_1.normalize)(a), (0, normalize_1.normalize)(b));
78
+ }
79
+ //# sourceMappingURL=equality.js.map