@stevenvo780/st-lang 3.2.3 → 4.0.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 (445) hide show
  1. package/README.md +47 -7
  2. package/dist/api.d.ts +2 -0
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +5 -1
  5. package/dist/api.js.map +1 -1
  6. package/dist/argumentation/dot.d.ts +3 -0
  7. package/dist/argumentation/dot.d.ts.map +1 -0
  8. package/dist/argumentation/dot.js +25 -0
  9. package/dist/argumentation/dot.js.map +1 -0
  10. package/dist/argumentation/extensions.d.ts +11 -0
  11. package/dist/argumentation/extensions.d.ts.map +1 -0
  12. package/dist/argumentation/extensions.js +173 -0
  13. package/dist/argumentation/extensions.js.map +1 -0
  14. package/dist/argumentation/framework.d.ts +13 -0
  15. package/dist/argumentation/framework.d.ts.map +1 -0
  16. package/dist/argumentation/framework.js +117 -0
  17. package/dist/argumentation/framework.js.map +1 -0
  18. package/dist/argumentation/index.d.ts +6 -0
  19. package/dist/argumentation/index.d.ts.map +1 -0
  20. package/dist/argumentation/index.js +33 -0
  21. package/dist/argumentation/index.js.map +1 -0
  22. package/dist/argumentation/types.d.ts +11 -0
  23. package/dist/argumentation/types.d.ts.map +1 -0
  24. package/dist/argumentation/types.js +8 -0
  25. package/dist/argumentation/types.js.map +1 -0
  26. package/dist/ast/visitor.d.ts +95 -0
  27. package/dist/ast/visitor.d.ts.map +1 -0
  28. package/dist/ast/visitor.js +223 -0
  29. package/dist/ast/visitor.js.map +1 -0
  30. package/dist/citation-reasoning/derive.d.ts +31 -0
  31. package/dist/citation-reasoning/derive.d.ts.map +1 -0
  32. package/dist/citation-reasoning/derive.js +157 -0
  33. package/dist/citation-reasoning/derive.js.map +1 -0
  34. package/dist/citation-reasoning/index.d.ts +4 -0
  35. package/dist/citation-reasoning/index.d.ts.map +1 -0
  36. package/dist/citation-reasoning/index.js +10 -0
  37. package/dist/citation-reasoning/index.js.map +1 -0
  38. package/dist/citation-reasoning/types.d.ts +36 -0
  39. package/dist/citation-reasoning/types.d.ts.map +1 -0
  40. package/dist/citation-reasoning/types.js +6 -0
  41. package/dist/citation-reasoning/types.js.map +1 -0
  42. package/dist/educational/checker.d.ts +3 -0
  43. package/dist/educational/checker.d.ts.map +1 -0
  44. package/dist/educational/checker.js +244 -0
  45. package/dist/educational/checker.js.map +1 -0
  46. package/dist/educational/generator.d.ts +4 -0
  47. package/dist/educational/generator.d.ts.map +1 -0
  48. package/dist/educational/generator.js +158 -0
  49. package/dist/educational/generator.js.map +1 -0
  50. package/dist/educational/index.d.ts +6 -0
  51. package/dist/educational/index.d.ts.map +1 -0
  52. package/dist/educational/index.js +21 -0
  53. package/dist/educational/index.js.map +1 -0
  54. package/dist/educational/normalize.d.ts +6 -0
  55. package/dist/educational/normalize.d.ts.map +1 -0
  56. package/dist/educational/normalize.js +124 -0
  57. package/dist/educational/normalize.js.map +1 -0
  58. package/dist/educational/rng.d.ts +10 -0
  59. package/dist/educational/rng.d.ts.map +1 -0
  60. package/dist/educational/rng.js +47 -0
  61. package/dist/educational/rng.js.map +1 -0
  62. package/dist/educational/templates.d.ts +30 -0
  63. package/dist/educational/templates.d.ts.map +1 -0
  64. package/dist/educational/templates.js +567 -0
  65. package/dist/educational/templates.js.map +1 -0
  66. package/dist/educational/types.d.ts +44 -0
  67. package/dist/educational/types.d.ts.map +1 -0
  68. package/dist/educational/types.js +20 -0
  69. package/dist/educational/types.js.map +1 -0
  70. package/dist/exporters/coq/index.d.ts +35 -0
  71. package/dist/exporters/coq/index.d.ts.map +1 -0
  72. package/dist/exporters/coq/index.js +299 -0
  73. package/dist/exporters/coq/index.js.map +1 -0
  74. package/dist/fol-prover/cnf.d.ts +10 -0
  75. package/dist/fol-prover/cnf.d.ts.map +1 -0
  76. package/dist/fol-prover/cnf.js +357 -0
  77. package/dist/fol-prover/cnf.js.map +1 -0
  78. package/dist/fol-prover/index.d.ts +7 -0
  79. package/dist/fol-prover/index.d.ts.map +1 -0
  80. package/dist/fol-prover/index.js +27 -0
  81. package/dist/fol-prover/index.js.map +1 -0
  82. package/dist/fol-prover/prove.d.ts +4 -0
  83. package/dist/fol-prover/prove.d.ts.map +1 -0
  84. package/dist/fol-prover/prove.js +34 -0
  85. package/dist/fol-prover/prove.js.map +1 -0
  86. package/dist/fol-prover/resolve.d.ts +27 -0
  87. package/dist/fol-prover/resolve.d.ts.map +1 -0
  88. package/dist/fol-prover/resolve.js +234 -0
  89. package/dist/fol-prover/resolve.js.map +1 -0
  90. package/dist/fol-prover/types.d.ts +34 -0
  91. package/dist/fol-prover/types.d.ts.map +1 -0
  92. package/dist/fol-prover/types.js +38 -0
  93. package/dist/fol-prover/types.js.map +1 -0
  94. package/dist/fol-prover/unify.d.ts +9 -0
  95. package/dist/fol-prover/unify.d.ts.map +1 -0
  96. package/dist/fol-prover/unify.js +110 -0
  97. package/dist/fol-prover/unify.js.map +1 -0
  98. package/dist/hyperreal/index.d.ts +45 -0
  99. package/dist/hyperreal/index.d.ts.map +1 -0
  100. package/dist/hyperreal/index.js +183 -0
  101. package/dist/hyperreal/index.js.map +1 -0
  102. package/dist/index.d.ts +26 -0
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +72 -1
  105. package/dist/index.js.map +1 -1
  106. package/dist/lsp/index.d.ts +6 -0
  107. package/dist/lsp/index.d.ts.map +1 -0
  108. package/dist/lsp/index.js +29 -0
  109. package/dist/lsp/index.js.map +1 -0
  110. package/dist/lsp/protocol.d.ts +20 -0
  111. package/dist/lsp/protocol.d.ts.map +1 -0
  112. package/dist/lsp/protocol.js +64 -0
  113. package/dist/lsp/protocol.js.map +1 -0
  114. package/dist/lsp/server.d.ts +47 -0
  115. package/dist/lsp/server.d.ts.map +1 -0
  116. package/dist/lsp/server.js +529 -0
  117. package/dist/lsp/server.js.map +1 -0
  118. package/dist/lsp/types.d.ts +152 -0
  119. package/dist/lsp/types.d.ts.map +1 -0
  120. package/dist/lsp/types.js +70 -0
  121. package/dist/lsp/types.js.map +1 -0
  122. package/dist/parser/formulas.d.ts +7 -0
  123. package/dist/parser/formulas.d.ts.map +1 -0
  124. package/dist/parser/formulas.js +511 -0
  125. package/dist/parser/formulas.js.map +1 -0
  126. package/dist/parser/parser.d.ts +11 -41
  127. package/dist/parser/parser.d.ts.map +1 -1
  128. package/dist/parser/parser.js +410 -1037
  129. package/dist/parser/parser.js.map +1 -1
  130. package/dist/parser/state.d.ts +34 -0
  131. package/dist/parser/state.d.ts.map +1 -0
  132. package/dist/parser/state.js +163 -0
  133. package/dist/parser/state.js.map +1 -0
  134. package/dist/plugin-system/demo-min-logic.d.ts +3 -0
  135. package/dist/plugin-system/demo-min-logic.d.ts.map +1 -0
  136. package/dist/plugin-system/demo-min-logic.js +116 -0
  137. package/dist/plugin-system/demo-min-logic.js.map +1 -0
  138. package/dist/plugin-system/errors.d.ts +9 -0
  139. package/dist/plugin-system/errors.d.ts.map +1 -0
  140. package/dist/plugin-system/errors.js +24 -0
  141. package/dist/plugin-system/errors.js.map +1 -0
  142. package/dist/plugin-system/index.d.ts +6 -0
  143. package/dist/plugin-system/index.d.ts.map +1 -0
  144. package/dist/plugin-system/index.js +14 -0
  145. package/dist/plugin-system/index.js.map +1 -0
  146. package/dist/plugin-system/registry.d.ts +12 -0
  147. package/dist/plugin-system/registry.d.ts.map +1 -0
  148. package/dist/plugin-system/registry.js +46 -0
  149. package/dist/plugin-system/registry.js.map +1 -0
  150. package/dist/plugin-system/types.d.ts +23 -0
  151. package/dist/plugin-system/types.d.ts.map +1 -0
  152. package/dist/plugin-system/types.js +3 -0
  153. package/dist/plugin-system/types.js.map +1 -0
  154. package/dist/plugin-system/validate.d.ts +4 -0
  155. package/dist/plugin-system/validate.d.ts.map +1 -0
  156. package/dist/plugin-system/validate.js +60 -0
  157. package/dist/plugin-system/validate.js.map +1 -0
  158. package/dist/profiles/classical/parallel-sat.js +3 -3
  159. package/dist/profiles/classical/parallel-sat.js.map +1 -1
  160. package/dist/proof-exchange/index.d.ts +26 -0
  161. package/dist/proof-exchange/index.d.ts.map +1 -0
  162. package/dist/proof-exchange/index.js +94 -0
  163. package/dist/proof-exchange/index.js.map +1 -0
  164. package/dist/runtime/memo/cache.d.ts +32 -0
  165. package/dist/runtime/memo/cache.d.ts.map +1 -0
  166. package/dist/runtime/memo/cache.js +129 -0
  167. package/dist/runtime/memo/cache.js.map +1 -0
  168. package/dist/runtime/memo/hash.d.ts +9 -0
  169. package/dist/runtime/memo/hash.d.ts.map +1 -0
  170. package/dist/runtime/memo/hash.js +87 -0
  171. package/dist/runtime/memo/hash.js.map +1 -0
  172. package/dist/runtime/memo/index.d.ts +4 -0
  173. package/dist/runtime/memo/index.d.ts.map +1 -0
  174. package/dist/runtime/memo/index.js +8 -0
  175. package/dist/runtime/memo/index.js.map +1 -0
  176. package/dist/runtime/parallel/index.d.ts +34 -0
  177. package/dist/runtime/parallel/index.d.ts.map +1 -0
  178. package/dist/runtime/parallel/index.js +220 -0
  179. package/dist/runtime/parallel/index.js.map +1 -0
  180. package/dist/runtime/parallel/worker.d.ts +22 -0
  181. package/dist/runtime/parallel/worker.d.ts.map +1 -0
  182. package/dist/runtime/parallel/worker.js +43 -0
  183. package/dist/runtime/parallel/worker.js.map +1 -0
  184. package/dist/runtime/smt/index.d.ts +6 -0
  185. package/dist/runtime/smt/index.d.ts.map +1 -0
  186. package/dist/runtime/smt/index.js +18 -0
  187. package/dist/runtime/smt/index.js.map +1 -0
  188. package/dist/runtime/smt/mock-backend.d.ts +30 -0
  189. package/dist/runtime/smt/mock-backend.d.ts.map +1 -0
  190. package/dist/runtime/smt/mock-backend.js +460 -0
  191. package/dist/runtime/smt/mock-backend.js.map +1 -0
  192. package/dist/runtime/smt/serializer.d.ts +21 -0
  193. package/dist/runtime/smt/serializer.d.ts.map +1 -0
  194. package/dist/runtime/smt/serializer.js +314 -0
  195. package/dist/runtime/smt/serializer.js.map +1 -0
  196. package/dist/runtime/smt/subprocess-backend.d.ts +62 -0
  197. package/dist/runtime/smt/subprocess-backend.d.ts.map +1 -0
  198. package/dist/runtime/smt/subprocess-backend.js +261 -0
  199. package/dist/runtime/smt/subprocess-backend.js.map +1 -0
  200. package/dist/runtime/smt/types.d.ts +57 -0
  201. package/dist/runtime/smt/types.d.ts.map +1 -0
  202. package/dist/runtime/smt/types.js +6 -0
  203. package/dist/runtime/smt/types.js.map +1 -0
  204. package/dist/runtime/streaming/index.d.ts +4 -0
  205. package/dist/runtime/streaming/index.d.ts.map +1 -0
  206. package/dist/runtime/streaming/index.js +9 -0
  207. package/dist/runtime/streaming/index.js.map +1 -0
  208. package/dist/runtime/streaming/stream-eval.d.ts +31 -0
  209. package/dist/runtime/streaming/stream-eval.d.ts.map +1 -0
  210. package/dist/runtime/streaming/stream-eval.js +155 -0
  211. package/dist/runtime/streaming/stream-eval.js.map +1 -0
  212. package/dist/runtime/streaming/types.d.ts +33 -0
  213. package/dist/runtime/streaming/types.d.ts.map +1 -0
  214. package/dist/runtime/streaming/types.js +6 -0
  215. package/dist/runtime/streaming/types.js.map +1 -0
  216. package/dist/runtime/typecheck/checker.d.ts +72 -0
  217. package/dist/runtime/typecheck/checker.d.ts.map +1 -0
  218. package/dist/runtime/typecheck/checker.js +462 -0
  219. package/dist/runtime/typecheck/checker.js.map +1 -0
  220. package/dist/runtime/typecheck/index.d.ts +4 -0
  221. package/dist/runtime/typecheck/index.d.ts.map +1 -0
  222. package/dist/runtime/typecheck/index.js +13 -0
  223. package/dist/runtime/typecheck/index.js.map +1 -0
  224. package/dist/runtime/typecheck/levenshtein.d.ts +11 -0
  225. package/dist/runtime/typecheck/levenshtein.d.ts.map +1 -0
  226. package/dist/runtime/typecheck/levenshtein.js +49 -0
  227. package/dist/runtime/typecheck/levenshtein.js.map +1 -0
  228. package/dist/runtime/typecheck/types.d.ts +14 -0
  229. package/dist/runtime/typecheck/types.d.ts.map +1 -0
  230. package/dist/runtime/typecheck/types.js +26 -0
  231. package/dist/runtime/typecheck/types.js.map +1 -0
  232. package/dist/solver/cdcl-v2/clause-learning.d.ts +33 -0
  233. package/dist/solver/cdcl-v2/clause-learning.d.ts.map +1 -0
  234. package/dist/solver/cdcl-v2/clause-learning.js +110 -0
  235. package/dist/solver/cdcl-v2/clause-learning.js.map +1 -0
  236. package/dist/solver/cdcl-v2/index.d.ts +9 -0
  237. package/dist/solver/cdcl-v2/index.d.ts.map +1 -0
  238. package/dist/solver/cdcl-v2/index.js +39 -0
  239. package/dist/solver/cdcl-v2/index.js.map +1 -0
  240. package/dist/solver/cdcl-v2/lbd.d.ts +34 -0
  241. package/dist/solver/cdcl-v2/lbd.d.ts.map +1 -0
  242. package/dist/solver/cdcl-v2/lbd.js +72 -0
  243. package/dist/solver/cdcl-v2/lbd.js.map +1 -0
  244. package/dist/solver/cdcl-v2/luby.d.ts +28 -0
  245. package/dist/solver/cdcl-v2/luby.d.ts.map +1 -0
  246. package/dist/solver/cdcl-v2/luby.js +70 -0
  247. package/dist/solver/cdcl-v2/luby.js.map +1 -0
  248. package/dist/solver/cdcl-v2/phase-saving.d.ts +14 -0
  249. package/dist/solver/cdcl-v2/phase-saving.d.ts.map +1 -0
  250. package/dist/solver/cdcl-v2/phase-saving.js +44 -0
  251. package/dist/solver/cdcl-v2/phase-saving.js.map +1 -0
  252. package/dist/solver/cdcl-v2/solver.d.ts +10 -0
  253. package/dist/solver/cdcl-v2/solver.d.ts.map +1 -0
  254. package/dist/solver/cdcl-v2/solver.js +442 -0
  255. package/dist/solver/cdcl-v2/solver.js.map +1 -0
  256. package/dist/solver/cdcl-v2/state.d.ts +54 -0
  257. package/dist/solver/cdcl-v2/state.d.ts.map +1 -0
  258. package/dist/solver/cdcl-v2/state.js +22 -0
  259. package/dist/solver/cdcl-v2/state.js.map +1 -0
  260. package/dist/solver/cdcl-v2/vsids.d.ts +19 -0
  261. package/dist/solver/cdcl-v2/vsids.d.ts.map +1 -0
  262. package/dist/solver/cdcl-v2/vsids.js +77 -0
  263. package/dist/solver/cdcl-v2/vsids.js.map +1 -0
  264. package/dist/tests/agora-integration-fixtures.test.js.map +1 -1
  265. package/dist/tests/argumentation/dung.test.d.ts +2 -0
  266. package/dist/tests/argumentation/dung.test.d.ts.map +1 -0
  267. package/dist/tests/argumentation/dung.test.js +219 -0
  268. package/dist/tests/argumentation/dung.test.js.map +1 -0
  269. package/dist/tests/citation-reasoning/citation-reasoning.test.d.ts +2 -0
  270. package/dist/tests/citation-reasoning/citation-reasoning.test.d.ts.map +1 -0
  271. package/dist/tests/citation-reasoning/citation-reasoning.test.js +240 -0
  272. package/dist/tests/citation-reasoning/citation-reasoning.test.js.map +1 -0
  273. package/dist/tests/coverage-fill-api.test.d.ts +7 -0
  274. package/dist/tests/coverage-fill-api.test.d.ts.map +1 -0
  275. package/dist/tests/coverage-fill-api.test.js +310 -0
  276. package/dist/tests/coverage-fill-api.test.js.map +1 -0
  277. package/dist/tests/coverage-fill-aristotelian.test.d.ts +7 -0
  278. package/dist/tests/coverage-fill-aristotelian.test.d.ts.map +1 -0
  279. package/dist/tests/coverage-fill-aristotelian.test.js +377 -0
  280. package/dist/tests/coverage-fill-aristotelian.test.js.map +1 -0
  281. package/dist/tests/coverage-fill-belnap.test.d.ts +6 -0
  282. package/dist/tests/coverage-fill-belnap.test.d.ts.map +1 -0
  283. package/dist/tests/coverage-fill-belnap.test.js +277 -0
  284. package/dist/tests/coverage-fill-belnap.test.js.map +1 -0
  285. package/dist/tests/coverage-fill-cross-system.test.d.ts +6 -0
  286. package/dist/tests/coverage-fill-cross-system.test.d.ts.map +1 -0
  287. package/dist/tests/coverage-fill-cross-system.test.js +75 -0
  288. package/dist/tests/coverage-fill-cross-system.test.js.map +1 -0
  289. package/dist/tests/coverage-fill-fallacies.test.d.ts +6 -0
  290. package/dist/tests/coverage-fill-fallacies.test.d.ts.map +1 -0
  291. package/dist/tests/coverage-fill-fallacies.test.js +287 -0
  292. package/dist/tests/coverage-fill-fallacies.test.js.map +1 -0
  293. package/dist/tests/coverage-fill-format.test.d.ts +7 -0
  294. package/dist/tests/coverage-fill-format.test.d.ts.map +1 -0
  295. package/dist/tests/coverage-fill-format.test.js +455 -0
  296. package/dist/tests/coverage-fill-format.test.js.map +1 -0
  297. package/dist/tests/coverage-fill-intuitionistic.test.d.ts +6 -0
  298. package/dist/tests/coverage-fill-intuitionistic.test.d.ts.map +1 -0
  299. package/dist/tests/coverage-fill-intuitionistic.test.js +293 -0
  300. package/dist/tests/coverage-fill-intuitionistic.test.js.map +1 -0
  301. package/dist/tests/coverage-fill-probabilistic.test.d.ts +7 -0
  302. package/dist/tests/coverage-fill-probabilistic.test.d.ts.map +1 -0
  303. package/dist/tests/coverage-fill-probabilistic.test.js +314 -0
  304. package/dist/tests/coverage-fill-probabilistic.test.js.map +1 -0
  305. package/dist/tests/educational/checker.test.d.ts +2 -0
  306. package/dist/tests/educational/checker.test.d.ts.map +1 -0
  307. package/dist/tests/educational/checker.test.js +212 -0
  308. package/dist/tests/educational/checker.test.js.map +1 -0
  309. package/dist/tests/educational/generator.test.d.ts +2 -0
  310. package/dist/tests/educational/generator.test.d.ts.map +1 -0
  311. package/dist/tests/educational/generator.test.js +137 -0
  312. package/dist/tests/educational/generator.test.js.map +1 -0
  313. package/dist/tests/exporters/coq/coq-exporter.test.d.ts +2 -0
  314. package/dist/tests/exporters/coq/coq-exporter.test.d.ts.map +1 -0
  315. package/dist/tests/exporters/coq/coq-exporter.test.js +353 -0
  316. package/dist/tests/exporters/coq/coq-exporter.test.js.map +1 -0
  317. package/dist/tests/fol-prover/cnf.test.d.ts +2 -0
  318. package/dist/tests/fol-prover/cnf.test.d.ts.map +1 -0
  319. package/dist/tests/fol-prover/cnf.test.js +74 -0
  320. package/dist/tests/fol-prover/cnf.test.js.map +1 -0
  321. package/dist/tests/fol-prover/prove.test.d.ts +2 -0
  322. package/dist/tests/fol-prover/prove.test.d.ts.map +1 -0
  323. package/dist/tests/fol-prover/prove.test.js +106 -0
  324. package/dist/tests/fol-prover/prove.test.js.map +1 -0
  325. package/dist/tests/fol-prover/unify.test.d.ts +2 -0
  326. package/dist/tests/fol-prover/unify.test.d.ts.map +1 -0
  327. package/dist/tests/fol-prover/unify.test.js +66 -0
  328. package/dist/tests/fol-prover/unify.test.js.map +1 -0
  329. package/dist/tests/hyperreal/hyperreal.test.d.ts +2 -0
  330. package/dist/tests/hyperreal/hyperreal.test.d.ts.map +1 -0
  331. package/dist/tests/hyperreal/hyperreal.test.js +219 -0
  332. package/dist/tests/hyperreal/hyperreal.test.js.map +1 -0
  333. package/dist/tests/lsp/server.test.d.ts +2 -0
  334. package/dist/tests/lsp/server.test.d.ts.map +1 -0
  335. package/dist/tests/lsp/server.test.js +406 -0
  336. package/dist/tests/lsp/server.test.js.map +1 -0
  337. package/dist/tests/memo/cache.test.d.ts +2 -0
  338. package/dist/tests/memo/cache.test.d.ts.map +1 -0
  339. package/dist/tests/memo/cache.test.js +252 -0
  340. package/dist/tests/memo/cache.test.js.map +1 -0
  341. package/dist/tests/parallel/parallel-pool.test.d.ts +11 -0
  342. package/dist/tests/parallel/parallel-pool.test.d.ts.map +1 -0
  343. package/dist/tests/parallel/parallel-pool.test.js +192 -0
  344. package/dist/tests/parallel/parallel-pool.test.js.map +1 -0
  345. package/dist/tests/plugin-system/demo-min-logic.test.d.ts +2 -0
  346. package/dist/tests/plugin-system/demo-min-logic.test.d.ts.map +1 -0
  347. package/dist/tests/plugin-system/demo-min-logic.test.js +85 -0
  348. package/dist/tests/plugin-system/demo-min-logic.test.js.map +1 -0
  349. package/dist/tests/plugin-system/registry.test.d.ts +2 -0
  350. package/dist/tests/plugin-system/registry.test.d.ts.map +1 -0
  351. package/dist/tests/plugin-system/registry.test.js +88 -0
  352. package/dist/tests/plugin-system/registry.test.js.map +1 -0
  353. package/dist/tests/plugin-system/validate.test.d.ts +2 -0
  354. package/dist/tests/plugin-system/validate.test.d.ts.map +1 -0
  355. package/dist/tests/plugin-system/validate.test.js +101 -0
  356. package/dist/tests/plugin-system/validate.test.js.map +1 -0
  357. package/dist/tests/proof-exchange/proof-exchange.test.d.ts +2 -0
  358. package/dist/tests/proof-exchange/proof-exchange.test.d.ts.map +1 -0
  359. package/dist/tests/proof-exchange/proof-exchange.test.js +161 -0
  360. package/dist/tests/proof-exchange/proof-exchange.test.js.map +1 -0
  361. package/dist/tests/sat-v2/clause-learning.test.d.ts +2 -0
  362. package/dist/tests/sat-v2/clause-learning.test.d.ts.map +1 -0
  363. package/dist/tests/sat-v2/clause-learning.test.js +73 -0
  364. package/dist/tests/sat-v2/clause-learning.test.js.map +1 -0
  365. package/dist/tests/sat-v2/lbd.test.d.ts +2 -0
  366. package/dist/tests/sat-v2/lbd.test.d.ts.map +1 -0
  367. package/dist/tests/sat-v2/lbd.test.js +82 -0
  368. package/dist/tests/sat-v2/lbd.test.js.map +1 -0
  369. package/dist/tests/sat-v2/luby.test.d.ts +2 -0
  370. package/dist/tests/sat-v2/luby.test.d.ts.map +1 -0
  371. package/dist/tests/sat-v2/luby.test.js +58 -0
  372. package/dist/tests/sat-v2/luby.test.js.map +1 -0
  373. package/dist/tests/sat-v2/phase-saving.test.d.ts +2 -0
  374. package/dist/tests/sat-v2/phase-saving.test.d.ts.map +1 -0
  375. package/dist/tests/sat-v2/phase-saving.test.js +38 -0
  376. package/dist/tests/sat-v2/phase-saving.test.js.map +1 -0
  377. package/dist/tests/sat-v2/solver-end-to-end.test.d.ts +2 -0
  378. package/dist/tests/sat-v2/solver-end-to-end.test.d.ts.map +1 -0
  379. package/dist/tests/sat-v2/solver-end-to-end.test.js +199 -0
  380. package/dist/tests/sat-v2/solver-end-to-end.test.js.map +1 -0
  381. package/dist/tests/sat-v2/vsids.test.d.ts +2 -0
  382. package/dist/tests/sat-v2/vsids.test.d.ts.map +1 -0
  383. package/dist/tests/sat-v2/vsids.test.js +69 -0
  384. package/dist/tests/sat-v2/vsids.test.js.map +1 -0
  385. package/dist/tests/smt/mock-backend.test.d.ts +2 -0
  386. package/dist/tests/smt/mock-backend.test.d.ts.map +1 -0
  387. package/dist/tests/smt/mock-backend.test.js +129 -0
  388. package/dist/tests/smt/mock-backend.test.js.map +1 -0
  389. package/dist/tests/smt/serializer.test.d.ts +2 -0
  390. package/dist/tests/smt/serializer.test.d.ts.map +1 -0
  391. package/dist/tests/smt/serializer.test.js +94 -0
  392. package/dist/tests/smt/serializer.test.js.map +1 -0
  393. package/dist/tests/smt/subprocess-backend.test.d.ts +2 -0
  394. package/dist/tests/smt/subprocess-backend.test.d.ts.map +1 -0
  395. package/dist/tests/smt/subprocess-backend.test.js +89 -0
  396. package/dist/tests/smt/subprocess-backend.test.js.map +1 -0
  397. package/dist/tests/streaming/stream-eval.test.d.ts +2 -0
  398. package/dist/tests/streaming/stream-eval.test.d.ts.map +1 -0
  399. package/dist/tests/streaming/stream-eval.test.js +170 -0
  400. package/dist/tests/streaming/stream-eval.test.js.map +1 -0
  401. package/dist/tests/text-layer-v2/claim-graph.test.d.ts +2 -0
  402. package/dist/tests/text-layer-v2/claim-graph.test.d.ts.map +1 -0
  403. package/dist/tests/text-layer-v2/claim-graph.test.js +255 -0
  404. package/dist/tests/text-layer-v2/claim-graph.test.js.map +1 -0
  405. package/dist/tests/time-travel/snapshot.test.d.ts +2 -0
  406. package/dist/tests/time-travel/snapshot.test.d.ts.map +1 -0
  407. package/dist/tests/time-travel/snapshot.test.js +75 -0
  408. package/dist/tests/time-travel/snapshot.test.js.map +1 -0
  409. package/dist/tests/time-travel/store.test.d.ts +2 -0
  410. package/dist/tests/time-travel/store.test.d.ts.map +1 -0
  411. package/dist/tests/time-travel/store.test.js +242 -0
  412. package/dist/tests/time-travel/store.test.js.map +1 -0
  413. package/dist/tests/typecheck-core.test.d.ts +2 -0
  414. package/dist/tests/typecheck-core.test.d.ts.map +1 -0
  415. package/dist/tests/typecheck-core.test.js +339 -0
  416. package/dist/tests/typecheck-core.test.js.map +1 -0
  417. package/dist/text-layer/v2/claim-graph.d.ts +45 -0
  418. package/dist/text-layer/v2/claim-graph.d.ts.map +1 -0
  419. package/dist/text-layer/v2/claim-graph.js +270 -0
  420. package/dist/text-layer/v2/claim-graph.js.map +1 -0
  421. package/dist/text-layer/v2/index.d.ts +6 -0
  422. package/dist/text-layer/v2/index.d.ts.map +1 -0
  423. package/dist/text-layer/v2/index.js +10 -0
  424. package/dist/text-layer/v2/index.js.map +1 -0
  425. package/dist/text-layer/v2/types.d.ts +32 -0
  426. package/dist/text-layer/v2/types.d.ts.map +1 -0
  427. package/dist/text-layer/v2/types.js +11 -0
  428. package/dist/text-layer/v2/types.js.map +1 -0
  429. package/dist/time-travel/index.d.ts +4 -0
  430. package/dist/time-travel/index.d.ts.map +1 -0
  431. package/dist/time-travel/index.js +8 -0
  432. package/dist/time-travel/index.js.map +1 -0
  433. package/dist/time-travel/snapshot.d.ts +9 -0
  434. package/dist/time-travel/snapshot.d.ts.map +1 -0
  435. package/dist/time-travel/snapshot.js +24 -0
  436. package/dist/time-travel/snapshot.js.map +1 -0
  437. package/dist/time-travel/store.d.ts +14 -0
  438. package/dist/time-travel/store.d.ts.map +1 -0
  439. package/dist/time-travel/store.js +119 -0
  440. package/dist/time-travel/store.js.map +1 -0
  441. package/dist/time-travel/types.d.ts +50 -0
  442. package/dist/time-travel/types.d.ts.map +1 -0
  443. package/dist/time-travel/types.js +3 -0
  444. package/dist/time-travel/types.js.map +1 -0
  445. package/package.json +5 -1
@@ -0,0 +1,57 @@
1
+ import type { Formula } from '../../types';
2
+ /** Sorts SMT-LIB v2 soportados por el bridge. */
3
+ export type SMTSort = 'Bool' | 'Int' | 'Real' | 'BitVec';
4
+ /** Lógicas SMT-LIB v2 reconocidas por el serializador. */
5
+ export type SMTLogic = 'QF_LRA' | 'QF_LIA' | 'QF_BV' | 'AUFLIA';
6
+ /** Resultado de checkSat según SMT-LIB v2. */
7
+ export type SMTResult = 'sat' | 'unsat' | 'unknown';
8
+ /** Modelo devuelto por getModel: mapa de constante → valor decodificado. */
9
+ export type SMTModel = Record<string, string | number | boolean>;
10
+ /** Opciones para el serializador SMT-LIB v2. */
11
+ export interface ToSMTLIBOptions {
12
+ /** Lógica para emitir `(set-logic ...)`. Default: QF_LRA. */
13
+ logic?: SMTLogic;
14
+ /** Si true emite (set-logic ...) y `(check-sat)`. Default: false (solo formula). */
15
+ full?: boolean;
16
+ /** Tamaño en bits para sort BitVec (default 32). */
17
+ bvWidth?: number;
18
+ }
19
+ /** Backend SMT — abstracción común para mock e implementaciones reales. */
20
+ export interface SMTBackend {
21
+ readonly name: string;
22
+ reset(): void;
23
+ push(): void;
24
+ pop(levels?: number): void;
25
+ declareConst(name: string, sort: SMTSort): void;
26
+ assertFormula(smtlib: string): void;
27
+ checkSat(): SMTResult;
28
+ getModel(): SMTModel | undefined;
29
+ getUnsatCore(): string[];
30
+ }
31
+ /** Solver externo detectado en el PATH. */
32
+ export type DetectedSolver = 'z3' | 'cvc5' | 'none';
33
+ /** Resultado interno de una operación de detección. */
34
+ export interface DetectionResult {
35
+ solver: DetectedSolver;
36
+ /** Path absoluto si está disponible (resuelto por `which`). */
37
+ binaryPath?: string;
38
+ }
39
+ /** Declaración de constante registrada en un scope. */
40
+ export interface ConstDeclaration {
41
+ name: string;
42
+ sort: SMTSort;
43
+ bvWidth?: number;
44
+ }
45
+ /** Aserción registrada en un scope. */
46
+ export interface ScopedAssertion {
47
+ /** SMT-LIB v2 raw del cuerpo (sin `(assert ...)`). */
48
+ body: string;
49
+ /** Fórmula original si fue inyectada vía toSMTLIB, para razonamiento del mock. */
50
+ formula?: Formula;
51
+ }
52
+ /** Estado de un nivel del stack push/pop. */
53
+ export interface SMTScope {
54
+ decls: ConstDeclaration[];
55
+ assertions: ScopedAssertion[];
56
+ }
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/smt/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,iDAAiD;AACjD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzD,0DAA0D;AAC1D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpD,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEjE,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,oFAAoF;IACpF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,IAAI,SAAS,CAAC;IACtB,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAAC;IACjC,YAAY,IAAI,MAAM,EAAE,CAAC;CAC1B;AAED,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST SMT — Tipos públicos del bridge a solvers SMT externos
4
+ // ============================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/smt/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,4DAA4D;AAC5D,+DAA+D"}
@@ -0,0 +1,4 @@
1
+ export { streamEval } from './stream-eval';
2
+ export type { StreamEvalOptions } from './stream-eval';
3
+ export type { StreamEvent, EvalResult, ProfileName } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/streaming/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Streaming — Barrel de exportaciones
4
+ // ============================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.streamEval = void 0;
7
+ var stream_eval_1 = require("./stream-eval");
8
+ Object.defineProperty(exports, "streamEval", { enumerable: true, get: function () { return stream_eval_1.streamEval; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/streaming/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,yCAAyC;AACzC,+DAA+D;;;AAE/D,6CAA2C;AAAlC,yGAAA,UAAU,OAAA"}
@@ -0,0 +1,31 @@
1
+ import type { Formula } from '../../types';
2
+ import '../../profiles';
3
+ import type { StreamEvent, ProfileName } from './types';
4
+ export interface StreamEvalOptions {
5
+ abortSignal?: AbortSignal;
6
+ }
7
+ /**
8
+ * Evalúa una fórmula AST bajo el perfil dado y emite eventos progresivos.
9
+ *
10
+ * Orden garantizado de eventos:
11
+ * `start` → (`subproof` | `progress`)* → `partial` → `done` | `error`
12
+ *
13
+ * Soporta cancelación vía `AbortSignal`. Cuando se cancela:
14
+ * - Se emite un evento `error` con mensaje de cancelación.
15
+ * - El iterable termina inmediatamente.
16
+ *
17
+ * Errores en la evaluación producen un evento `error` (no throw).
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const formula: Formula = { kind: 'implies', args: [
22
+ * { kind: 'atom', name: 'P' },
23
+ * { kind: 'atom', name: 'P' },
24
+ * ]};
25
+ * for await (const event of streamEval(formula, 'classical.propositional')) {
26
+ * console.log(event);
27
+ * }
28
+ * ```
29
+ */
30
+ export declare function streamEval(formula: Formula, profile: ProfileName, opts?: StreamEvalOptions): AsyncIterable<StreamEvent>;
31
+ //# sourceMappingURL=stream-eval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-eval.d.ts","sourceRoot":"","sources":["../../../src/runtime/streaming/stream-eval.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAc,WAAW,EAAE,MAAM,SAAS,CAAC;AAIpE,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAoDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAuB,UAAU,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,iBAAiB,GACvB,aAAa,CAAC,WAAW,CAAC,CA4F5B"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Streaming — streamEval(): evaluación incremental con AsyncIterable
4
+ // ============================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.streamEval = streamEval;
7
+ const interface_1 = require("../../profiles/interface");
8
+ const propositional_1 = require("../../profiles/classical/propositional");
9
+ require("../../profiles"); // registra perfiles built-in
10
+ // ── Helpers internos ──────────────────────────────────────────
11
+ /** Yield un tick de event-loop para que el iterable sea genuinamente async. */
12
+ function tick() {
13
+ return new Promise((resolve) => setImmediate(resolve));
14
+ }
15
+ /**
16
+ * Mapea el status de RunResult a las categorías de subproof.
17
+ */
18
+ function statusToSubproofResult(status) {
19
+ switch (status) {
20
+ case 'valid':
21
+ case 'provable':
22
+ case 'satisfiable':
23
+ return 'T';
24
+ case 'invalid':
25
+ case 'refutable':
26
+ case 'unsatisfiable':
27
+ return 'F';
28
+ case 'error':
29
+ return 'unknown';
30
+ default:
31
+ return 'unknown';
32
+ }
33
+ }
34
+ /**
35
+ * Extrae sub-nodos significativos de la fórmula para generar eventos subproof.
36
+ * Devuelve hasta maxNodes sub-fórmulas con su representación string.
37
+ */
38
+ function extractSubnodes(formula, maxNodes = 8) {
39
+ const result = [];
40
+ function walk(f, depth) {
41
+ if (result.length >= maxNodes)
42
+ return;
43
+ if (depth > 0 && f.kind !== 'atom') {
44
+ result.push(f);
45
+ }
46
+ for (const arg of f.args ?? []) {
47
+ walk(arg, depth + 1);
48
+ }
49
+ }
50
+ walk(formula, 0);
51
+ return result;
52
+ }
53
+ // ── API principal ─────────────────────────────────────────────
54
+ /**
55
+ * Evalúa una fórmula AST bajo el perfil dado y emite eventos progresivos.
56
+ *
57
+ * Orden garantizado de eventos:
58
+ * `start` → (`subproof` | `progress`)* → `partial` → `done` | `error`
59
+ *
60
+ * Soporta cancelación vía `AbortSignal`. Cuando se cancela:
61
+ * - Se emite un evento `error` con mensaje de cancelación.
62
+ * - El iterable termina inmediatamente.
63
+ *
64
+ * Errores en la evaluación producen un evento `error` (no throw).
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const formula: Formula = { kind: 'implies', args: [
69
+ * { kind: 'atom', name: 'P' },
70
+ * { kind: 'atom', name: 'P' },
71
+ * ]};
72
+ * for await (const event of streamEval(formula, 'classical.propositional')) {
73
+ * console.log(event);
74
+ * }
75
+ * ```
76
+ */
77
+ async function* streamEval(formula, profile, opts) {
78
+ const signal = opts?.abortSignal;
79
+ const startTime = Date.now();
80
+ const checkAborted = () => signal?.aborted ?? false;
81
+ const formulaStr = (0, propositional_1.formulaToString)(formula);
82
+ // ── start ────────────────────────────────────────────────────
83
+ yield { kind: 'start', formula: formulaStr };
84
+ await tick();
85
+ if (checkAborted()) {
86
+ yield { kind: 'error', error: 'Evaluación cancelada (AbortSignal)' };
87
+ return;
88
+ }
89
+ // ── Resolver perfil ─────────────────────────────────────────
90
+ const logicProfile = interface_1.registry.get(profile);
91
+ if (!logicProfile) {
92
+ yield {
93
+ kind: 'error',
94
+ error: `Perfil lógico desconocido: "${profile}"`,
95
+ };
96
+ return;
97
+ }
98
+ // ── Sub-nodos para eventos subproof ──────────────────────────
99
+ const subnodes = extractSubnodes(formula);
100
+ const total = subnodes.length;
101
+ for (let i = 0; i < subnodes.length; i++) {
102
+ if (checkAborted()) {
103
+ yield { kind: 'error', error: 'Evaluación cancelada (AbortSignal)' };
104
+ return;
105
+ }
106
+ const sub = subnodes[i];
107
+ if (!sub)
108
+ continue;
109
+ let subResult;
110
+ try {
111
+ subResult = logicProfile.checkValid(sub);
112
+ }
113
+ catch {
114
+ subResult = { status: 'unknown', diagnostics: [], formula: sub };
115
+ }
116
+ const subStr = (0, propositional_1.formulaToString)(sub);
117
+ yield {
118
+ kind: 'subproof',
119
+ node: subStr,
120
+ result: statusToSubproofResult(subResult.status),
121
+ };
122
+ await tick();
123
+ const ratio = (i + 1) / (total + 1);
124
+ yield { kind: 'progress', ratio };
125
+ await tick();
126
+ }
127
+ if (checkAborted()) {
128
+ yield { kind: 'error', error: 'Evaluación cancelada (AbortSignal)' };
129
+ return;
130
+ }
131
+ // ── Progreso: 90% — a punto de evaluar ──────────────────────
132
+ yield { kind: 'progress', ratio: 0.9 };
133
+ await tick();
134
+ // ── Evaluación principal ─────────────────────────────────────
135
+ let finalResult;
136
+ try {
137
+ finalResult = logicProfile.checkValid(formula);
138
+ }
139
+ catch (err) {
140
+ const message = err instanceof Error ? err.message : String(err);
141
+ yield { kind: 'error', error: message };
142
+ return;
143
+ }
144
+ if (checkAborted()) {
145
+ yield { kind: 'error', error: 'Evaluación cancelada (AbortSignal)' };
146
+ return;
147
+ }
148
+ // ── partial result ───────────────────────────────────────────
149
+ yield { kind: 'partial', result: finalResult };
150
+ await tick();
151
+ // ── done ─────────────────────────────────────────────────────
152
+ const totalMs = Date.now() - startTime;
153
+ yield { kind: 'done', result: finalResult, totalMs };
154
+ }
155
+ //# sourceMappingURL=stream-eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-eval.js","sourceRoot":"","sources":["../../../src/runtime/streaming/stream-eval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { RunResult } from '../../types';
2
+ /** Resultado de evaluación expuesto por el streaming API. Alias de RunResult. */
3
+ export type EvalResult = RunResult;
4
+ /**
5
+ * Evento emitido por streamEval().
6
+ *
7
+ * Orden garantizado:
8
+ * start → (subproof | progress | partial)* → done | error
9
+ */
10
+ export type StreamEvent = {
11
+ kind: 'start';
12
+ formula: string;
13
+ } | {
14
+ kind: 'subproof';
15
+ node: string;
16
+ result: 'T' | 'F' | 'both' | 'neither' | 'unknown';
17
+ } | {
18
+ kind: 'progress';
19
+ ratio: number;
20
+ } | {
21
+ kind: 'partial';
22
+ result: EvalResult;
23
+ } | {
24
+ kind: 'done';
25
+ result: EvalResult;
26
+ totalMs: number;
27
+ } | {
28
+ kind: 'error';
29
+ error: string;
30
+ };
31
+ /** Nombres válidos de perfil lógico (string abierto para extensibilidad). */
32
+ export type ProfileName = string;
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/streaming/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Streaming — Tipos públicos del API de evaluación incremental
4
+ // ============================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/streaming/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,kEAAkE;AAClE,+DAA+D"}
@@ -0,0 +1,72 @@
1
+ import { BaseASTVisitor } from '../../ast/visitor';
2
+ import type { Statement, Program } from '../../ast/nodes';
3
+ import type { LogicDeclNode, AxiomDeclNode, TheoremDeclNode, DeriveCmdNode, CheckValidCmdNode, CheckSatisfiableCmdNode, CheckEquivalentCmdNode, ProveCmdNode, CountermodelCmdNode, TruthTableCmdNode, LetDeclNode, AnalyzeCmdNode, ExplainCmdNode, ImportDeclNode, ProofBlockNode, TheoryDeclNode, IfStmtNode, ForStmtNode, WhileStmtNode, FnDeclNode, ReturnStmtNode, FnCallNode, ExportDeclNode, DefineDeclNode, UnfoldCmdNode, FoldCmdNode, InterpretCmdNode } from '../../ast/nodes';
4
+ import type { TypeError, ProfileName } from './types';
5
+ export declare class TypeChecker extends BaseASTVisitor<TypeError[]> {
6
+ private profile;
7
+ private scope;
8
+ /** Axioms y teoremas declarados (nombres) — para duplicados */
9
+ private axiomNames;
10
+ private theoremNames;
11
+ /** Imports vistos en este programa (para TC007) */
12
+ private importsSeen;
13
+ /** Nombre del archivo actual */
14
+ private file;
15
+ constructor(profile?: ProfileName, file?: string);
16
+ protected defaultResult(_node: Statement): TypeError[];
17
+ private err;
18
+ /** Todos los nombres declarados en el scope actual (para sugerencias) */
19
+ private allDeclaredNames;
20
+ /** Comprueba si el perfil actual es modal */
21
+ private isModalProfile;
22
+ /** Comprueba si el perfil actual es temporal */
23
+ private isTemporalProfile;
24
+ /** Comprueba si el perfil actual soporta FO (cuantificadores) */
25
+ private isFirstOrderProfile;
26
+ /**
27
+ * Recorre una Formula recursivamente buscando errores.
28
+ * Devuelve lista de errores encontrados.
29
+ */
30
+ private checkFormula;
31
+ /**
32
+ * Visita recursivamente una lista de statements en un scope dado.
33
+ */
34
+ private visitStatements;
35
+ visitLogicDecl(node: LogicDeclNode): TypeError[];
36
+ visitAxiomDecl(node: AxiomDeclNode): TypeError[];
37
+ visitTheoremDecl(node: TheoremDeclNode): TypeError[];
38
+ visitDeriveCmd(node: DeriveCmdNode): TypeError[];
39
+ visitCheckValidCmd(node: CheckValidCmdNode): TypeError[];
40
+ visitCheckSatisfiableCmd(node: CheckSatisfiableCmdNode): TypeError[];
41
+ visitCheckEquivalentCmd(node: CheckEquivalentCmdNode): TypeError[];
42
+ visitProveCmd(node: ProveCmdNode): TypeError[];
43
+ visitCountermodelCmd(node: CountermodelCmdNode): TypeError[];
44
+ visitTruthTableCmd(node: TruthTableCmdNode): TypeError[];
45
+ visitLetDecl(node: LetDeclNode): TypeError[];
46
+ visitAnalyzeCmd(node: AnalyzeCmdNode): TypeError[];
47
+ visitExplainCmd(node: ExplainCmdNode): TypeError[];
48
+ visitImportDecl(node: ImportDeclNode): TypeError[];
49
+ visitProofBlock(node: ProofBlockNode): TypeError[];
50
+ visitTheoryDecl(node: TheoryDeclNode): TypeError[];
51
+ visitIfStmt(node: IfStmtNode): TypeError[];
52
+ visitForStmt(node: ForStmtNode): TypeError[];
53
+ visitWhileStmt(node: WhileStmtNode): TypeError[];
54
+ visitFnDecl(node: FnDeclNode): TypeError[];
55
+ visitReturnStmt(node: ReturnStmtNode): TypeError[];
56
+ visitFnCall(node: FnCallNode): TypeError[];
57
+ visitExportDecl(node: ExportDeclNode): TypeError[];
58
+ visitDefineDecl(node: DefineDeclNode): TypeError[];
59
+ visitUnfoldCmd(node: UnfoldCmdNode): TypeError[];
60
+ visitFoldCmd(node: FoldCmdNode): TypeError[];
61
+ visitInterpretCmd(node: InterpretCmdNode): TypeError[];
62
+ }
63
+ /**
64
+ * Ejecuta el type-checker estático sobre un Program ya parseado.
65
+ *
66
+ * @param program AST del programa ST
67
+ * @param profile Nombre del perfil activo (puede estar en el AST como logic_decl)
68
+ * @param file Nombre del archivo (para TC007)
69
+ * @returns Lista de TypeError[] — vacía si no hay errores
70
+ */
71
+ export declare function typeCheck(program: Program, profile?: ProfileName, file?: string): TypeError[];
72
+ //# sourceMappingURL=checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/runtime/typecheck/checker.ts"],"names":[],"mappings":"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"}