@stevenvo780/st-lang 4.2.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/dist/index.d.ts +8 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +70 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lambda-calc/church.d.ts +8 -0
  6. package/dist/lambda-calc/church.d.ts.map +1 -0
  7. package/dist/lambda-calc/church.js +67 -0
  8. package/dist/lambda-calc/church.js.map +1 -0
  9. package/dist/lambda-calc/combinators.d.ts +8 -0
  10. package/dist/lambda-calc/combinators.d.ts.map +1 -0
  11. package/dist/lambda-calc/combinators.js +24 -0
  12. package/dist/lambda-calc/combinators.js.map +1 -0
  13. package/dist/lambda-calc/index.d.ts +8 -0
  14. package/dist/lambda-calc/index.d.ts.map +1 -0
  15. package/dist/lambda-calc/index.js +48 -0
  16. package/dist/lambda-calc/index.js.map +1 -0
  17. package/dist/lambda-calc/reduce.d.ts +18 -0
  18. package/dist/lambda-calc/reduce.d.ts.map +1 -0
  19. package/dist/lambda-calc/reduce.js +174 -0
  20. package/dist/lambda-calc/reduce.js.map +1 -0
  21. package/dist/lambda-calc/substitution.d.ts +6 -0
  22. package/dist/lambda-calc/substitution.d.ts.map +1 -0
  23. package/dist/lambda-calc/substitution.js +120 -0
  24. package/dist/lambda-calc/substitution.js.map +1 -0
  25. package/dist/lambda-calc/types.d.ts +19 -0
  26. package/dist/lambda-calc/types.d.ts.map +1 -0
  27. package/dist/lambda-calc/types.js +72 -0
  28. package/dist/lambda-calc/types.js.map +1 -0
  29. package/dist/mltt/equality.d.ts +9 -0
  30. package/dist/mltt/equality.d.ts.map +1 -0
  31. package/dist/mltt/equality.js +79 -0
  32. package/dist/mltt/equality.js.map +1 -0
  33. package/dist/mltt/index.d.ts +8 -0
  34. package/dist/mltt/index.d.ts.map +1 -0
  35. package/dist/mltt/index.js +49 -0
  36. package/dist/mltt/index.js.map +1 -0
  37. package/dist/mltt/infer.d.ts +17 -0
  38. package/dist/mltt/infer.d.ts.map +1 -0
  39. package/dist/mltt/infer.js +269 -0
  40. package/dist/mltt/infer.js.map +1 -0
  41. package/dist/mltt/normalize.d.ts +7 -0
  42. package/dist/mltt/normalize.d.ts.map +1 -0
  43. package/dist/mltt/normalize.js +131 -0
  44. package/dist/mltt/normalize.js.map +1 -0
  45. package/dist/mltt/substitute.d.ts +4 -0
  46. package/dist/mltt/substitute.d.ts.map +1 -0
  47. package/dist/mltt/substitute.js +94 -0
  48. package/dist/mltt/substitute.js.map +1 -0
  49. package/dist/mltt/types.d.ts +72 -0
  50. package/dist/mltt/types.d.ts.map +1 -0
  51. package/dist/mltt/types.js +211 -0
  52. package/dist/mltt/types.js.map +1 -0
  53. package/dist/profiles/intuitionistic-nj/formula.d.ts +19 -0
  54. package/dist/profiles/intuitionistic-nj/formula.d.ts.map +1 -0
  55. package/dist/profiles/intuitionistic-nj/formula.js +99 -0
  56. package/dist/profiles/intuitionistic-nj/formula.js.map +1 -0
  57. package/dist/profiles/intuitionistic-nj/index.d.ts +5 -0
  58. package/dist/profiles/intuitionistic-nj/index.d.ts.map +1 -0
  59. package/dist/profiles/intuitionistic-nj/index.js +24 -0
  60. package/dist/profiles/intuitionistic-nj/index.js.map +1 -0
  61. package/dist/profiles/intuitionistic-nj/kripke.d.ts +17 -0
  62. package/dist/profiles/intuitionistic-nj/kripke.d.ts.map +1 -0
  63. package/dist/profiles/intuitionistic-nj/kripke.js +206 -0
  64. package/dist/profiles/intuitionistic-nj/kripke.js.map +1 -0
  65. package/dist/profiles/intuitionistic-nj/prover.d.ts +13 -0
  66. package/dist/profiles/intuitionistic-nj/prover.d.ts.map +1 -0
  67. package/dist/profiles/intuitionistic-nj/prover.js +418 -0
  68. package/dist/profiles/intuitionistic-nj/prover.js.map +1 -0
  69. package/dist/profiles/intuitionistic-nj/types.d.ts +55 -0
  70. package/dist/profiles/intuitionistic-nj/types.d.ts.map +1 -0
  71. package/dist/profiles/intuitionistic-nj/types.js +21 -0
  72. package/dist/profiles/intuitionistic-nj/types.js.map +1 -0
  73. package/dist/profiles/many-valued/index.d.ts +39 -0
  74. package/dist/profiles/many-valued/index.d.ts.map +1 -0
  75. package/dist/profiles/many-valued/index.js +250 -0
  76. package/dist/profiles/many-valued/index.js.map +1 -0
  77. package/dist/profiles/modal-frame-axioms/formula.d.ts +23 -0
  78. package/dist/profiles/modal-frame-axioms/formula.d.ts.map +1 -0
  79. package/dist/profiles/modal-frame-axioms/formula.js +158 -0
  80. package/dist/profiles/modal-frame-axioms/formula.js.map +1 -0
  81. package/dist/profiles/modal-frame-axioms/index.d.ts +6 -0
  82. package/dist/profiles/modal-frame-axioms/index.d.ts.map +1 -0
  83. package/dist/profiles/modal-frame-axioms/index.js +41 -0
  84. package/dist/profiles/modal-frame-axioms/index.js.map +1 -0
  85. package/dist/profiles/modal-frame-axioms/systems.d.ts +29 -0
  86. package/dist/profiles/modal-frame-axioms/systems.d.ts.map +1 -0
  87. package/dist/profiles/modal-frame-axioms/systems.js +96 -0
  88. package/dist/profiles/modal-frame-axioms/systems.js.map +1 -0
  89. package/dist/profiles/modal-frame-axioms/tableau.d.ts +12 -0
  90. package/dist/profiles/modal-frame-axioms/tableau.d.ts.map +1 -0
  91. package/dist/profiles/modal-frame-axioms/tableau.js +299 -0
  92. package/dist/profiles/modal-frame-axioms/tableau.js.map +1 -0
  93. package/dist/profiles/modal-frame-axioms/types.d.ts +61 -0
  94. package/dist/profiles/modal-frame-axioms/types.d.ts.map +1 -0
  95. package/dist/profiles/modal-frame-axioms/types.js +27 -0
  96. package/dist/profiles/modal-frame-axioms/types.js.map +1 -0
  97. package/dist/profiles/mu-calculus/check.d.ts +15 -0
  98. package/dist/profiles/mu-calculus/check.d.ts.map +1 -0
  99. package/dist/profiles/mu-calculus/check.js +172 -0
  100. package/dist/profiles/mu-calculus/check.js.map +1 -0
  101. package/dist/profiles/mu-calculus/ctl-translate.d.ts +61 -0
  102. package/dist/profiles/mu-calculus/ctl-translate.d.ts.map +1 -0
  103. package/dist/profiles/mu-calculus/ctl-translate.js +181 -0
  104. package/dist/profiles/mu-calculus/ctl-translate.js.map +1 -0
  105. package/dist/profiles/mu-calculus/index.d.ts +7 -0
  106. package/dist/profiles/mu-calculus/index.d.ts.map +1 -0
  107. package/dist/profiles/mu-calculus/index.js +33 -0
  108. package/dist/profiles/mu-calculus/index.js.map +1 -0
  109. package/dist/profiles/mu-calculus/types.d.ts +51 -0
  110. package/dist/profiles/mu-calculus/types.d.ts.map +1 -0
  111. package/dist/profiles/mu-calculus/types.js +42 -0
  112. package/dist/profiles/mu-calculus/types.js.map +1 -0
  113. package/dist/profiles/mu-calculus/wellformed.d.ts +40 -0
  114. package/dist/profiles/mu-calculus/wellformed.d.ts.map +1 -0
  115. package/dist/profiles/mu-calculus/wellformed.js +160 -0
  116. package/dist/profiles/mu-calculus/wellformed.js.map +1 -0
  117. package/dist/profiles/sequent-lk/cut-elimination.d.ts +11 -0
  118. package/dist/profiles/sequent-lk/cut-elimination.d.ts.map +1 -0
  119. package/dist/profiles/sequent-lk/cut-elimination.js +216 -0
  120. package/dist/profiles/sequent-lk/cut-elimination.js.map +1 -0
  121. package/dist/profiles/sequent-lk/index.d.ts +5 -0
  122. package/dist/profiles/sequent-lk/index.d.ts.map +1 -0
  123. package/dist/profiles/sequent-lk/index.js +24 -0
  124. package/dist/profiles/sequent-lk/index.js.map +1 -0
  125. package/dist/profiles/sequent-lk/prover.d.ts +25 -0
  126. package/dist/profiles/sequent-lk/prover.d.ts.map +1 -0
  127. package/dist/profiles/sequent-lk/prover.js +532 -0
  128. package/dist/profiles/sequent-lk/prover.js.map +1 -0
  129. package/dist/profiles/sequent-lk/types.d.ts +55 -0
  130. package/dist/profiles/sequent-lk/types.d.ts.map +1 -0
  131. package/dist/profiles/sequent-lk/types.js +18 -0
  132. package/dist/profiles/sequent-lk/types.js.map +1 -0
  133. package/dist/profiles/sequent-lk/util.d.ts +18 -0
  134. package/dist/profiles/sequent-lk/util.d.ts.map +1 -0
  135. package/dist/profiles/sequent-lk/util.js +71 -0
  136. package/dist/profiles/sequent-lk/util.js.map +1 -0
  137. package/dist/profiles/substructural/index.d.ts +4 -0
  138. package/dist/profiles/substructural/index.d.ts.map +1 -0
  139. package/dist/profiles/substructural/index.js +22 -0
  140. package/dist/profiles/substructural/index.js.map +1 -0
  141. package/dist/profiles/substructural/prover.d.ts +13 -0
  142. package/dist/profiles/substructural/prover.d.ts.map +1 -0
  143. package/dist/profiles/substructural/prover.js +481 -0
  144. package/dist/profiles/substructural/prover.js.map +1 -0
  145. package/dist/profiles/substructural/types.d.ts +72 -0
  146. package/dist/profiles/substructural/types.d.ts.map +1 -0
  147. package/dist/profiles/substructural/types.js +27 -0
  148. package/dist/profiles/substructural/types.js.map +1 -0
  149. package/dist/refinement-types/checker.d.ts +19 -0
  150. package/dist/refinement-types/checker.d.ts.map +1 -0
  151. package/dist/refinement-types/checker.js +248 -0
  152. package/dist/refinement-types/checker.js.map +1 -0
  153. package/dist/refinement-types/index.d.ts +11 -0
  154. package/dist/refinement-types/index.d.ts.map +1 -0
  155. package/dist/refinement-types/index.js +51 -0
  156. package/dist/refinement-types/index.js.map +1 -0
  157. package/dist/refinement-types/predicate.d.ts +31 -0
  158. package/dist/refinement-types/predicate.d.ts.map +1 -0
  159. package/dist/refinement-types/predicate.js +369 -0
  160. package/dist/refinement-types/predicate.js.map +1 -0
  161. package/dist/refinement-types/solver.d.ts +24 -0
  162. package/dist/refinement-types/solver.d.ts.map +1 -0
  163. package/dist/refinement-types/solver.js +207 -0
  164. package/dist/refinement-types/solver.js.map +1 -0
  165. package/dist/refinement-types/subtype.d.ts +14 -0
  166. package/dist/refinement-types/subtype.d.ts.map +1 -0
  167. package/dist/refinement-types/subtype.js +39 -0
  168. package/dist/refinement-types/subtype.js.map +1 -0
  169. package/dist/refinement-types/types.d.ts +64 -0
  170. package/dist/refinement-types/types.d.ts.map +1 -0
  171. package/dist/refinement-types/types.js +130 -0
  172. package/dist/refinement-types/types.js.map +1 -0
  173. package/dist/runtime/abduction/entails.d.ts +21 -0
  174. package/dist/runtime/abduction/entails.d.ts.map +1 -0
  175. package/dist/runtime/abduction/entails.js +308 -0
  176. package/dist/runtime/abduction/entails.js.map +1 -0
  177. package/dist/runtime/abduction/find.d.ts +18 -0
  178. package/dist/runtime/abduction/find.d.ts.map +1 -0
  179. package/dist/runtime/abduction/find.js +202 -0
  180. package/dist/runtime/abduction/find.js.map +1 -0
  181. package/dist/runtime/abduction/index.d.ts +4 -0
  182. package/dist/runtime/abduction/index.d.ts.map +1 -0
  183. package/dist/runtime/abduction/index.js +26 -0
  184. package/dist/runtime/abduction/index.js.map +1 -0
  185. package/dist/runtime/abduction/types.d.ts +78 -0
  186. package/dist/runtime/abduction/types.d.ts.map +1 -0
  187. package/dist/runtime/abduction/types.js +23 -0
  188. package/dist/runtime/abduction/types.js.map +1 -0
  189. package/dist/runtime/anti-unification/anti-unify.d.ts +22 -0
  190. package/dist/runtime/anti-unification/anti-unify.d.ts.map +1 -0
  191. package/dist/runtime/anti-unification/anti-unify.js +154 -0
  192. package/dist/runtime/anti-unification/anti-unify.js.map +1 -0
  193. package/dist/runtime/anti-unification/index.d.ts +6 -0
  194. package/dist/runtime/anti-unification/index.d.ts.map +1 -0
  195. package/dist/runtime/anti-unification/index.js +23 -0
  196. package/dist/runtime/anti-unification/index.js.map +1 -0
  197. package/dist/runtime/anti-unification/many.d.ts +49 -0
  198. package/dist/runtime/anti-unification/many.d.ts.map +1 -0
  199. package/dist/runtime/anti-unification/many.js +185 -0
  200. package/dist/runtime/anti-unification/many.js.map +1 -0
  201. package/dist/runtime/anti-unification/term-utils.d.ts +40 -0
  202. package/dist/runtime/anti-unification/term-utils.d.ts.map +1 -0
  203. package/dist/runtime/anti-unification/term-utils.js +173 -0
  204. package/dist/runtime/anti-unification/term-utils.js.map +1 -0
  205. package/dist/runtime/anti-unification/types.d.ts +41 -0
  206. package/dist/runtime/anti-unification/types.d.ts.map +1 -0
  207. package/dist/runtime/anti-unification/types.js +26 -0
  208. package/dist/runtime/anti-unification/types.js.map +1 -0
  209. package/dist/runtime/bayesian/factor.d.ts +22 -0
  210. package/dist/runtime/bayesian/factor.d.ts.map +1 -0
  211. package/dist/runtime/bayesian/factor.js +249 -0
  212. package/dist/runtime/bayesian/factor.js.map +1 -0
  213. package/dist/runtime/bayesian/index.d.ts +3 -0
  214. package/dist/runtime/bayesian/index.d.ts.map +1 -0
  215. package/dist/runtime/bayesian/index.js +25 -0
  216. package/dist/runtime/bayesian/index.js.map +1 -0
  217. package/dist/runtime/bayesian/inference.d.ts +6 -0
  218. package/dist/runtime/bayesian/inference.d.ts.map +1 -0
  219. package/dist/runtime/bayesian/inference.js +260 -0
  220. package/dist/runtime/bayesian/inference.js.map +1 -0
  221. package/dist/runtime/bayesian/types.d.ts +19 -0
  222. package/dist/runtime/bayesian/types.d.ts.map +1 -0
  223. package/dist/runtime/bayesian/types.js +9 -0
  224. package/dist/runtime/bayesian/types.js.map +1 -0
  225. package/dist/runtime/bisimulation/index.d.ts +4 -0
  226. package/dist/runtime/bisimulation/index.d.ts.map +1 -0
  227. package/dist/runtime/bisimulation/index.js +21 -0
  228. package/dist/runtime/bisimulation/index.js.map +1 -0
  229. package/dist/runtime/bisimulation/operations.d.ts +40 -0
  230. package/dist/runtime/bisimulation/operations.d.ts.map +1 -0
  231. package/dist/runtime/bisimulation/operations.js +219 -0
  232. package/dist/runtime/bisimulation/operations.js.map +1 -0
  233. package/dist/runtime/bisimulation/paige-tarjan.d.ts +8 -0
  234. package/dist/runtime/bisimulation/paige-tarjan.d.ts.map +1 -0
  235. package/dist/runtime/bisimulation/paige-tarjan.js +199 -0
  236. package/dist/runtime/bisimulation/paige-tarjan.js.map +1 -0
  237. package/dist/runtime/bisimulation/types.d.ts +26 -0
  238. package/dist/runtime/bisimulation/types.d.ts.map +1 -0
  239. package/dist/runtime/bisimulation/types.js +22 -0
  240. package/dist/runtime/bisimulation/types.js.map +1 -0
  241. package/dist/runtime/csp/ac3.d.ts +20 -0
  242. package/dist/runtime/csp/ac3.d.ts.map +1 -0
  243. package/dist/runtime/csp/ac3.js +165 -0
  244. package/dist/runtime/csp/ac3.js.map +1 -0
  245. package/dist/runtime/csp/backtrack.d.ts +15 -0
  246. package/dist/runtime/csp/backtrack.d.ts.map +1 -0
  247. package/dist/runtime/csp/backtrack.js +233 -0
  248. package/dist/runtime/csp/backtrack.js.map +1 -0
  249. package/dist/runtime/csp/builtins.d.ts +27 -0
  250. package/dist/runtime/csp/builtins.d.ts.map +1 -0
  251. package/dist/runtime/csp/builtins.js +109 -0
  252. package/dist/runtime/csp/builtins.js.map +1 -0
  253. package/dist/runtime/csp/index.d.ts +5 -0
  254. package/dist/runtime/csp/index.d.ts.map +1 -0
  255. package/dist/runtime/csp/index.js +23 -0
  256. package/dist/runtime/csp/index.js.map +1 -0
  257. package/dist/runtime/csp/types.d.ts +54 -0
  258. package/dist/runtime/csp/types.d.ts.map +1 -0
  259. package/dist/runtime/csp/types.js +14 -0
  260. package/dist/runtime/csp/types.js.map +1 -0
  261. package/dist/runtime/fca/context.d.ts +46 -0
  262. package/dist/runtime/fca/context.d.ts.map +1 -0
  263. package/dist/runtime/fca/context.js +155 -0
  264. package/dist/runtime/fca/context.js.map +1 -0
  265. package/dist/runtime/fca/implications.d.ts +10 -0
  266. package/dist/runtime/fca/implications.d.ts.map +1 -0
  267. package/dist/runtime/fca/implications.js +33 -0
  268. package/dist/runtime/fca/implications.js.map +1 -0
  269. package/dist/runtime/fca/index.d.ts +6 -0
  270. package/dist/runtime/fca/index.d.ts.map +1 -0
  271. package/dist/runtime/fca/index.js +39 -0
  272. package/dist/runtime/fca/index.js.map +1 -0
  273. package/dist/runtime/fca/lattice.d.ts +10 -0
  274. package/dist/runtime/fca/lattice.d.ts.map +1 -0
  275. package/dist/runtime/fca/lattice.js +86 -0
  276. package/dist/runtime/fca/lattice.js.map +1 -0
  277. package/dist/runtime/fca/next-closure.d.ts +12 -0
  278. package/dist/runtime/fca/next-closure.d.ts.map +1 -0
  279. package/dist/runtime/fca/next-closure.js +99 -0
  280. package/dist/runtime/fca/next-closure.js.map +1 -0
  281. package/dist/runtime/fca/types.d.ts +31 -0
  282. package/dist/runtime/fca/types.d.ts.map +1 -0
  283. package/dist/runtime/fca/types.js +30 -0
  284. package/dist/runtime/fca/types.js.map +1 -0
  285. package/dist/runtime/markov-logic/grounding.d.ts +19 -0
  286. package/dist/runtime/markov-logic/grounding.d.ts.map +1 -0
  287. package/dist/runtime/markov-logic/grounding.js +252 -0
  288. package/dist/runtime/markov-logic/grounding.js.map +1 -0
  289. package/dist/runtime/markov-logic/index.d.ts +6 -0
  290. package/dist/runtime/markov-logic/index.d.ts.map +1 -0
  291. package/dist/runtime/markov-logic/index.js +47 -0
  292. package/dist/runtime/markov-logic/index.js.map +1 -0
  293. package/dist/runtime/markov-logic/inference.d.ts +77 -0
  294. package/dist/runtime/markov-logic/inference.d.ts.map +1 -0
  295. package/dist/runtime/markov-logic/inference.js +382 -0
  296. package/dist/runtime/markov-logic/inference.js.map +1 -0
  297. package/dist/runtime/markov-logic/parser.d.ts +25 -0
  298. package/dist/runtime/markov-logic/parser.d.ts.map +1 -0
  299. package/dist/runtime/markov-logic/parser.js +264 -0
  300. package/dist/runtime/markov-logic/parser.js.map +1 -0
  301. package/dist/runtime/markov-logic/types.d.ts +64 -0
  302. package/dist/runtime/markov-logic/types.d.ts.map +1 -0
  303. package/dist/runtime/markov-logic/types.js +17 -0
  304. package/dist/runtime/markov-logic/types.js.map +1 -0
  305. package/dist/runtime/pi-calculus/congruence.d.ts +15 -0
  306. package/dist/runtime/pi-calculus/congruence.d.ts.map +1 -0
  307. package/dist/runtime/pi-calculus/congruence.js +271 -0
  308. package/dist/runtime/pi-calculus/congruence.js.map +1 -0
  309. package/dist/runtime/pi-calculus/index.d.ts +6 -0
  310. package/dist/runtime/pi-calculus/index.d.ts.map +1 -0
  311. package/dist/runtime/pi-calculus/index.js +30 -0
  312. package/dist/runtime/pi-calculus/index.js.map +1 -0
  313. package/dist/runtime/pi-calculus/names.d.ts +28 -0
  314. package/dist/runtime/pi-calculus/names.d.ts.map +1 -0
  315. package/dist/runtime/pi-calculus/names.js +182 -0
  316. package/dist/runtime/pi-calculus/names.js.map +1 -0
  317. package/dist/runtime/pi-calculus/reduction.d.ts +25 -0
  318. package/dist/runtime/pi-calculus/reduction.d.ts.map +1 -0
  319. package/dist/runtime/pi-calculus/reduction.js +338 -0
  320. package/dist/runtime/pi-calculus/reduction.js.map +1 -0
  321. package/dist/runtime/pi-calculus/substitution.d.ts +11 -0
  322. package/dist/runtime/pi-calculus/substitution.d.ts.map +1 -0
  323. package/dist/runtime/pi-calculus/substitution.js +109 -0
  324. package/dist/runtime/pi-calculus/substitution.js.map +1 -0
  325. package/dist/runtime/pi-calculus/types.d.ts +38 -0
  326. package/dist/runtime/pi-calculus/types.d.ts.map +1 -0
  327. package/dist/runtime/pi-calculus/types.js +22 -0
  328. package/dist/runtime/pi-calculus/types.js.map +1 -0
  329. package/dist/runtime/planning/astar.d.ts +10 -0
  330. package/dist/runtime/planning/astar.d.ts.map +1 -0
  331. package/dist/runtime/planning/astar.js +155 -0
  332. package/dist/runtime/planning/astar.js.map +1 -0
  333. package/dist/runtime/planning/bfs.d.ts +17 -0
  334. package/dist/runtime/planning/bfs.d.ts.map +1 -0
  335. package/dist/runtime/planning/bfs.js +87 -0
  336. package/dist/runtime/planning/bfs.js.map +1 -0
  337. package/dist/runtime/planning/ground.d.ts +55 -0
  338. package/dist/runtime/planning/ground.d.ts.map +1 -0
  339. package/dist/runtime/planning/ground.js +154 -0
  340. package/dist/runtime/planning/ground.js.map +1 -0
  341. package/dist/runtime/planning/heuristic.d.ts +29 -0
  342. package/dist/runtime/planning/heuristic.d.ts.map +1 -0
  343. package/dist/runtime/planning/heuristic.js +172 -0
  344. package/dist/runtime/planning/heuristic.js.map +1 -0
  345. package/dist/runtime/planning/index.d.ts +6 -0
  346. package/dist/runtime/planning/index.d.ts.map +1 -0
  347. package/dist/runtime/planning/index.js +38 -0
  348. package/dist/runtime/planning/index.js.map +1 -0
  349. package/dist/runtime/planning/types.d.ts +100 -0
  350. package/dist/runtime/planning/types.d.ts.map +1 -0
  351. package/dist/runtime/planning/types.js +22 -0
  352. package/dist/runtime/planning/types.js.map +1 -0
  353. package/dist/runtime/proof-minify/index.d.ts +3 -0
  354. package/dist/runtime/proof-minify/index.d.ts.map +1 -0
  355. package/dist/runtime/proof-minify/index.js +13 -0
  356. package/dist/runtime/proof-minify/index.js.map +1 -0
  357. package/dist/runtime/proof-minify/minify.d.ts +13 -0
  358. package/dist/runtime/proof-minify/minify.d.ts.map +1 -0
  359. package/dist/runtime/proof-minify/minify.js +540 -0
  360. package/dist/runtime/proof-minify/minify.js.map +1 -0
  361. package/dist/runtime/proof-minify/types.d.ts +89 -0
  362. package/dist/runtime/proof-minify/types.d.ts.map +1 -0
  363. package/dist/runtime/proof-minify/types.js +16 -0
  364. package/dist/runtime/proof-minify/types.js.map +1 -0
  365. package/dist/runtime/symbolic-diff/constructors.d.ts +16 -0
  366. package/dist/runtime/symbolic-diff/constructors.d.ts.map +1 -0
  367. package/dist/runtime/symbolic-diff/constructors.js +75 -0
  368. package/dist/runtime/symbolic-diff/constructors.js.map +1 -0
  369. package/dist/runtime/symbolic-diff/differentiate.d.ts +22 -0
  370. package/dist/runtime/symbolic-diff/differentiate.d.ts.map +1 -0
  371. package/dist/runtime/symbolic-diff/differentiate.js +107 -0
  372. package/dist/runtime/symbolic-diff/differentiate.js.map +1 -0
  373. package/dist/runtime/symbolic-diff/evaluate.d.ts +3 -0
  374. package/dist/runtime/symbolic-diff/evaluate.d.ts.map +1 -0
  375. package/dist/runtime/symbolic-diff/evaluate.js +47 -0
  376. package/dist/runtime/symbolic-diff/evaluate.js.map +1 -0
  377. package/dist/runtime/symbolic-diff/index.d.ts +9 -0
  378. package/dist/runtime/symbolic-diff/index.d.ts.map +1 -0
  379. package/dist/runtime/symbolic-diff/index.js +34 -0
  380. package/dist/runtime/symbolic-diff/index.js.map +1 -0
  381. package/dist/runtime/symbolic-diff/parse.d.ts +16 -0
  382. package/dist/runtime/symbolic-diff/parse.d.ts.map +1 -0
  383. package/dist/runtime/symbolic-diff/parse.js +212 -0
  384. package/dist/runtime/symbolic-diff/parse.js.map +1 -0
  385. package/dist/runtime/symbolic-diff/simplify.d.ts +11 -0
  386. package/dist/runtime/symbolic-diff/simplify.d.ts.map +1 -0
  387. package/dist/runtime/symbolic-diff/simplify.js +214 -0
  388. package/dist/runtime/symbolic-diff/simplify.js.map +1 -0
  389. package/dist/runtime/symbolic-diff/stringify.d.ts +3 -0
  390. package/dist/runtime/symbolic-diff/stringify.d.ts.map +1 -0
  391. package/dist/runtime/symbolic-diff/stringify.js +69 -0
  392. package/dist/runtime/symbolic-diff/stringify.js.map +1 -0
  393. package/dist/runtime/symbolic-diff/types.d.ts +35 -0
  394. package/dist/runtime/symbolic-diff/types.d.ts.map +1 -0
  395. package/dist/runtime/symbolic-diff/types.js +9 -0
  396. package/dist/runtime/symbolic-diff/types.js.map +1 -0
  397. package/dist/runtime/term-rewriting/critical-pairs.d.ts +38 -0
  398. package/dist/runtime/term-rewriting/critical-pairs.d.ts.map +1 -0
  399. package/dist/runtime/term-rewriting/critical-pairs.js +109 -0
  400. package/dist/runtime/term-rewriting/critical-pairs.js.map +1 -0
  401. package/dist/runtime/term-rewriting/index.d.ts +9 -0
  402. package/dist/runtime/term-rewriting/index.d.ts.map +1 -0
  403. package/dist/runtime/term-rewriting/index.js +38 -0
  404. package/dist/runtime/term-rewriting/index.js.map +1 -0
  405. package/dist/runtime/term-rewriting/knuth-bendix.d.ts +29 -0
  406. package/dist/runtime/term-rewriting/knuth-bendix.d.ts.map +1 -0
  407. package/dist/runtime/term-rewriting/knuth-bendix.js +196 -0
  408. package/dist/runtime/term-rewriting/knuth-bendix.js.map +1 -0
  409. package/dist/runtime/term-rewriting/lpo.d.ts +17 -0
  410. package/dist/runtime/term-rewriting/lpo.d.ts.map +1 -0
  411. package/dist/runtime/term-rewriting/lpo.js +158 -0
  412. package/dist/runtime/term-rewriting/lpo.js.map +1 -0
  413. package/dist/runtime/term-rewriting/rewrite.d.ts +44 -0
  414. package/dist/runtime/term-rewriting/rewrite.d.ts.map +1 -0
  415. package/dist/runtime/term-rewriting/rewrite.js +189 -0
  416. package/dist/runtime/term-rewriting/rewrite.js.map +1 -0
  417. package/dist/runtime/term-rewriting/term-utils.d.ts +64 -0
  418. package/dist/runtime/term-rewriting/term-utils.d.ts.map +1 -0
  419. package/dist/runtime/term-rewriting/term-utils.js +360 -0
  420. package/dist/runtime/term-rewriting/term-utils.js.map +1 -0
  421. package/dist/runtime/term-rewriting/types.d.ts +66 -0
  422. package/dist/runtime/term-rewriting/types.d.ts.map +1 -0
  423. package/dist/runtime/term-rewriting/types.js +21 -0
  424. package/dist/runtime/term-rewriting/types.js.map +1 -0
  425. package/dist/runtime/theorem-cache/cache.d.ts +100 -0
  426. package/dist/runtime/theorem-cache/cache.d.ts.map +1 -0
  427. package/dist/runtime/theorem-cache/cache.js +213 -0
  428. package/dist/runtime/theorem-cache/cache.js.map +1 -0
  429. package/dist/runtime/theorem-cache/canonical.d.ts +59 -0
  430. package/dist/runtime/theorem-cache/canonical.d.ts.map +1 -0
  431. package/dist/runtime/theorem-cache/canonical.js +105 -0
  432. package/dist/runtime/theorem-cache/canonical.js.map +1 -0
  433. package/dist/runtime/theorem-cache/index.d.ts +6 -0
  434. package/dist/runtime/theorem-cache/index.d.ts.map +1 -0
  435. package/dist/runtime/theorem-cache/index.js +16 -0
  436. package/dist/runtime/theorem-cache/index.js.map +1 -0
  437. package/dist/runtime/theorem-cache/pattern.d.ts +24 -0
  438. package/dist/runtime/theorem-cache/pattern.d.ts.map +1 -0
  439. package/dist/runtime/theorem-cache/pattern.js +80 -0
  440. package/dist/runtime/theorem-cache/pattern.js.map +1 -0
  441. package/dist/system-f/index.d.ts +7 -0
  442. package/dist/system-f/index.d.ts.map +1 -0
  443. package/dist/system-f/index.js +48 -0
  444. package/dist/system-f/index.js.map +1 -0
  445. package/dist/system-f/infer.d.ts +9 -0
  446. package/dist/system-f/infer.d.ts.map +1 -0
  447. package/dist/system-f/infer.js +94 -0
  448. package/dist/system-f/infer.js.map +1 -0
  449. package/dist/system-f/reduce.d.ts +15 -0
  450. package/dist/system-f/reduce.d.ts.map +1 -0
  451. package/dist/system-f/reduce.js +259 -0
  452. package/dist/system-f/reduce.js.map +1 -0
  453. package/dist/system-f/types.d.ts +53 -0
  454. package/dist/system-f/types.d.ts.map +1 -0
  455. package/dist/system-f/types.js +157 -0
  456. package/dist/system-f/types.js.map +1 -0
  457. package/dist/tests/abduction/abduction.test.d.ts +2 -0
  458. package/dist/tests/abduction/abduction.test.d.ts.map +1 -0
  459. package/dist/tests/abduction/abduction.test.js +380 -0
  460. package/dist/tests/abduction/abduction.test.js.map +1 -0
  461. package/dist/tests/anti-unification/anti-unify.test.d.ts +2 -0
  462. package/dist/tests/anti-unification/anti-unify.test.d.ts.map +1 -0
  463. package/dist/tests/anti-unification/anti-unify.test.js +219 -0
  464. package/dist/tests/anti-unification/anti-unify.test.js.map +1 -0
  465. package/dist/tests/bayesian/bayesian.test.d.ts +2 -0
  466. package/dist/tests/bayesian/bayesian.test.d.ts.map +1 -0
  467. package/dist/tests/bayesian/bayesian.test.js +328 -0
  468. package/dist/tests/bayesian/bayesian.test.js.map +1 -0
  469. package/dist/tests/bisimulation/paige-tarjan.test.d.ts +2 -0
  470. package/dist/tests/bisimulation/paige-tarjan.test.d.ts.map +1 -0
  471. package/dist/tests/bisimulation/paige-tarjan.test.js +254 -0
  472. package/dist/tests/bisimulation/paige-tarjan.test.js.map +1 -0
  473. package/dist/tests/coverage-fill-aristotelian.test.js +1 -1
  474. package/dist/tests/coverage-fill-aristotelian.test.js.map +1 -1
  475. package/dist/tests/coverage-fill-fallacies.test.js +1 -1
  476. package/dist/tests/coverage-fill-fallacies.test.js.map +1 -1
  477. package/dist/tests/coverage-fill-format.test.js +1 -1
  478. package/dist/tests/coverage-fill-format.test.js.map +1 -1
  479. package/dist/tests/coverage-fill-intuitionistic.test.js +1 -1
  480. package/dist/tests/coverage-fill-intuitionistic.test.js.map +1 -1
  481. package/dist/tests/coverage-fill-probabilistic.test.js +1 -1
  482. package/dist/tests/coverage-fill-probabilistic.test.js.map +1 -1
  483. package/dist/tests/csp/csp.test.d.ts +2 -0
  484. package/dist/tests/csp/csp.test.d.ts.map +1 -0
  485. package/dist/tests/csp/csp.test.js +292 -0
  486. package/dist/tests/csp/csp.test.js.map +1 -0
  487. package/dist/tests/fca/fca.test.d.ts +2 -0
  488. package/dist/tests/fca/fca.test.d.ts.map +1 -0
  489. package/dist/tests/fca/fca.test.js +317 -0
  490. package/dist/tests/fca/fca.test.js.map +1 -0
  491. package/dist/tests/intuitionistic-nj/nj.test.d.ts +2 -0
  492. package/dist/tests/intuitionistic-nj/nj.test.d.ts.map +1 -0
  493. package/dist/tests/intuitionistic-nj/nj.test.js +216 -0
  494. package/dist/tests/intuitionistic-nj/nj.test.js.map +1 -0
  495. package/dist/tests/lambda-calc/lambda-calc.test.d.ts +2 -0
  496. package/dist/tests/lambda-calc/lambda-calc.test.d.ts.map +1 -0
  497. package/dist/tests/lambda-calc/lambda-calc.test.js +164 -0
  498. package/dist/tests/lambda-calc/lambda-calc.test.js.map +1 -0
  499. package/dist/tests/many-valued/many-valued.test.d.ts +2 -0
  500. package/dist/tests/many-valued/many-valued.test.d.ts.map +1 -0
  501. package/dist/tests/many-valued/many-valued.test.js +150 -0
  502. package/dist/tests/many-valued/many-valued.test.js.map +1 -0
  503. package/dist/tests/markov-logic/markov-logic.test.d.ts +2 -0
  504. package/dist/tests/markov-logic/markov-logic.test.d.ts.map +1 -0
  505. package/dist/tests/markov-logic/markov-logic.test.js +349 -0
  506. package/dist/tests/markov-logic/markov-logic.test.js.map +1 -0
  507. package/dist/tests/mltt/mltt.test.d.ts +2 -0
  508. package/dist/tests/mltt/mltt.test.d.ts.map +1 -0
  509. package/dist/tests/mltt/mltt.test.js +181 -0
  510. package/dist/tests/mltt/mltt.test.js.map +1 -0
  511. package/dist/tests/modal-frame-axioms/frame-axioms.test.d.ts +2 -0
  512. package/dist/tests/modal-frame-axioms/frame-axioms.test.d.ts.map +1 -0
  513. package/dist/tests/modal-frame-axioms/frame-axioms.test.js +236 -0
  514. package/dist/tests/modal-frame-axioms/frame-axioms.test.js.map +1 -0
  515. package/dist/tests/mu-calculus/check.test.d.ts +2 -0
  516. package/dist/tests/mu-calculus/check.test.d.ts.map +1 -0
  517. package/dist/tests/mu-calculus/check.test.js +234 -0
  518. package/dist/tests/mu-calculus/check.test.js.map +1 -0
  519. package/dist/tests/pi-calculus/pi-calculus.test.d.ts +2 -0
  520. package/dist/tests/pi-calculus/pi-calculus.test.d.ts.map +1 -0
  521. package/dist/tests/pi-calculus/pi-calculus.test.js +273 -0
  522. package/dist/tests/pi-calculus/pi-calculus.test.js.map +1 -0
  523. package/dist/tests/planning/planning.test.d.ts +2 -0
  524. package/dist/tests/planning/planning.test.d.ts.map +1 -0
  525. package/dist/tests/planning/planning.test.js +397 -0
  526. package/dist/tests/planning/planning.test.js.map +1 -0
  527. package/dist/tests/proof-minify/minify.test.d.ts +2 -0
  528. package/dist/tests/proof-minify/minify.test.d.ts.map +1 -0
  529. package/dist/tests/proof-minify/minify.test.js +281 -0
  530. package/dist/tests/proof-minify/minify.test.js.map +1 -0
  531. package/dist/tests/refinement-types/refinement-types.test.d.ts +2 -0
  532. package/dist/tests/refinement-types/refinement-types.test.d.ts.map +1 -0
  533. package/dist/tests/refinement-types/refinement-types.test.js +174 -0
  534. package/dist/tests/refinement-types/refinement-types.test.js.map +1 -0
  535. package/dist/tests/sequent-lk/prover.test.d.ts +2 -0
  536. package/dist/tests/sequent-lk/prover.test.d.ts.map +1 -0
  537. package/dist/tests/sequent-lk/prover.test.js +317 -0
  538. package/dist/tests/sequent-lk/prover.test.js.map +1 -0
  539. package/dist/tests/substructural/prover.test.d.ts +2 -0
  540. package/dist/tests/substructural/prover.test.d.ts.map +1 -0
  541. package/dist/tests/substructural/prover.test.js +271 -0
  542. package/dist/tests/substructural/prover.test.js.map +1 -0
  543. package/dist/tests/symbolic-diff/symbolic-diff.test.d.ts +2 -0
  544. package/dist/tests/symbolic-diff/symbolic-diff.test.d.ts.map +1 -0
  545. package/dist/tests/symbolic-diff/symbolic-diff.test.js +278 -0
  546. package/dist/tests/symbolic-diff/symbolic-diff.test.js.map +1 -0
  547. package/dist/tests/system-f/system-f.test.d.ts +2 -0
  548. package/dist/tests/system-f/system-f.test.d.ts.map +1 -0
  549. package/dist/tests/system-f/system-f.test.js +217 -0
  550. package/dist/tests/system-f/system-f.test.js.map +1 -0
  551. package/dist/tests/term-rewriting/critical-pairs.test.d.ts +2 -0
  552. package/dist/tests/term-rewriting/critical-pairs.test.d.ts.map +1 -0
  553. package/dist/tests/term-rewriting/critical-pairs.test.js +34 -0
  554. package/dist/tests/term-rewriting/critical-pairs.test.js.map +1 -0
  555. package/dist/tests/term-rewriting/knuth-bendix.test.d.ts +2 -0
  556. package/dist/tests/term-rewriting/knuth-bendix.test.d.ts.map +1 -0
  557. package/dist/tests/term-rewriting/knuth-bendix.test.js +94 -0
  558. package/dist/tests/term-rewriting/knuth-bendix.test.js.map +1 -0
  559. package/dist/tests/term-rewriting/lpo.test.d.ts +2 -0
  560. package/dist/tests/term-rewriting/lpo.test.d.ts.map +1 -0
  561. package/dist/tests/term-rewriting/lpo.test.js +57 -0
  562. package/dist/tests/term-rewriting/lpo.test.js.map +1 -0
  563. package/dist/tests/term-rewriting/rewrite.test.d.ts +2 -0
  564. package/dist/tests/term-rewriting/rewrite.test.d.ts.map +1 -0
  565. package/dist/tests/term-rewriting/rewrite.test.js +56 -0
  566. package/dist/tests/term-rewriting/rewrite.test.js.map +1 -0
  567. package/dist/tests/term-rewriting/term-utils.test.d.ts +2 -0
  568. package/dist/tests/term-rewriting/term-utils.test.d.ts.map +1 -0
  569. package/dist/tests/term-rewriting/term-utils.test.js +58 -0
  570. package/dist/tests/term-rewriting/term-utils.test.js.map +1 -0
  571. package/dist/tests/theorem-cache/cache.test.d.ts +2 -0
  572. package/dist/tests/theorem-cache/cache.test.d.ts.map +1 -0
  573. package/dist/tests/theorem-cache/cache.test.js +510 -0
  574. package/dist/tests/theorem-cache/cache.test.js.map +1 -0
  575. package/package.json +1 -1
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Planning — Grounding y aplicación de acciones
4
+ // ============================================================
5
+ //
6
+ // "Grounding" = instanciar un action schema lifted (con ?vars) a
7
+ // una acción concreta sobre objetos del dominio.
8
+ //
9
+ // Ejemplo:
10
+ // schema: move(?from, ?to) pre: at(?from) add: at(?to) del: at(?from)
11
+ // binding: { '?from': 'a', '?to': 'b' }
12
+ // ground: pre: at(a) add: at(b) del: at(a)
13
+ //
14
+ // La sustitución es textual: reemplazamos ?from → a en cada string
15
+ // del schema. Usamos boundary `(?[A-Za-z_][A-Za-z0-9_]*)` para no
16
+ // pisar variables que comparten prefijo (`?x` vs `?xy`).
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.substituteVars = substituteVars;
19
+ exports.ground = ground;
20
+ exports.applyAction = applyAction;
21
+ exports.preconditionsSatisfied = preconditionsSatisfied;
22
+ exports.goalSatisfied = goalSatisfied;
23
+ exports.groundAll = groundAll;
24
+ /**
25
+ * Sustituye variables `?var` por sus valores ligados en una cadena.
26
+ * Si la variable no está en bindings, se deja como está (permite
27
+ * grounding parcial / debugging).
28
+ */
29
+ function substituteVars(text, bindings) {
30
+ // Match ?<ident> donde ident es [A-Za-z_][A-Za-z0-9_-]*.
31
+ return text.replace(/\?([A-Za-z_][A-Za-z0-9_-]*)/g, (match, name) => {
32
+ const key = `?${name}`;
33
+ if (Object.prototype.hasOwnProperty.call(bindings, key)) {
34
+ return bindings[key];
35
+ }
36
+ return match;
37
+ });
38
+ }
39
+ /**
40
+ * Aplica un binding a un schema y devuelve una acción ground.
41
+ *
42
+ * No valida que el binding cubra todos los parámetros: lo que falte
43
+ * queda con `?var` en el string (caller's responsibility validar).
44
+ */
45
+ function ground(action, bindings) {
46
+ const pre = new Set();
47
+ const add = new Set();
48
+ const del = new Set();
49
+ for (const p of action.preconditions)
50
+ pre.add(substituteVars(p, bindings));
51
+ for (const a of action.addList)
52
+ add.add(substituteVars(a, bindings));
53
+ for (const d of action.delList)
54
+ del.add(substituteVars(d, bindings));
55
+ return { preconditions: pre, addList: add, delList: del };
56
+ }
57
+ /**
58
+ * Aplica una acción ground a un estado, devolviendo un nuevo estado.
59
+ *
60
+ * Convención STRIPS estándar: primero se borran los hechos en delList,
61
+ * luego se añaden los de addList. Si un hecho está en ambos, el
62
+ * resultado neto es "añadido" (delete antes que add).
63
+ *
64
+ * NO valida preconditions — esa verificación se hace en el planner
65
+ * antes de invocar applyAction. (Permite usarlo para forward search
66
+ * sin redundancia.)
67
+ */
68
+ function applyAction(state, grounded) {
69
+ const next = new Set(state);
70
+ for (const d of grounded.delList)
71
+ next.delete(d);
72
+ for (const a of grounded.addList)
73
+ next.add(a);
74
+ return next;
75
+ }
76
+ /**
77
+ * Chequea si un estado satisface las preconditions de una acción
78
+ * ground (todas presentes).
79
+ */
80
+ function preconditionsSatisfied(state, preconditions) {
81
+ for (const p of preconditions) {
82
+ if (!state.has(p))
83
+ return false;
84
+ }
85
+ return true;
86
+ }
87
+ /**
88
+ * Chequea si un estado satisface el goal (goal ⊆ state).
89
+ */
90
+ function goalSatisfied(state, goal) {
91
+ for (const g of goal) {
92
+ if (!state.has(g))
93
+ return false;
94
+ }
95
+ return true;
96
+ }
97
+ /**
98
+ * Enumera el producto cartesiano de objetos para los parámetros de
99
+ * una acción y devuelve TODAS las acciones ground posibles.
100
+ *
101
+ * Si el dominio tiene tipos en `objects`, por simplicidad enumeramos
102
+ * sobre `flatObjects = union(values of objects)`. Quien necesite
103
+ * tipos más finos puede pre-filtrar las acciones ground devueltas.
104
+ *
105
+ * Para |params|=2 con |objs|=10 → 100 acciones ground por schema. Es
106
+ * fácil que esto explote, así que el planner aplica `preconditionsSatisfied`
107
+ * como filtro early y typically la mayoría se podan.
108
+ */
109
+ function groundAll(action, objects) {
110
+ // Universo plano de objetos disponibles.
111
+ const allObjects = [];
112
+ const seen = new Set();
113
+ for (const vals of Object.values(objects)) {
114
+ for (const v of vals) {
115
+ if (!seen.has(v)) {
116
+ seen.add(v);
117
+ allObjects.push(v);
118
+ }
119
+ }
120
+ }
121
+ if (action.parameters.length === 0) {
122
+ return [{ bindings: {}, grounded: ground(action, {}) }];
123
+ }
124
+ // Producto cartesiano iterativo.
125
+ const results = [];
126
+ const indices = Array.from({ length: action.parameters.length }, () => 0);
127
+ const total = allObjects.length;
128
+ if (total === 0)
129
+ return [];
130
+ while (true) {
131
+ const bindings = {};
132
+ for (let i = 0; i < action.parameters.length; i++) {
133
+ const param = action.parameters[i];
134
+ const idx = indices[i];
135
+ bindings[param] = allObjects[idx];
136
+ }
137
+ results.push({ bindings, grounded: ground(action, bindings) });
138
+ // Avanzar al siguiente combo (ripple).
139
+ let k = action.parameters.length - 1;
140
+ while (k >= 0) {
141
+ const cur = indices[k] + 1;
142
+ if (cur < total) {
143
+ indices[k] = cur;
144
+ break;
145
+ }
146
+ indices[k] = 0;
147
+ k--;
148
+ }
149
+ if (k < 0)
150
+ break;
151
+ }
152
+ return results;
153
+ }
154
+ //# sourceMappingURL=ground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ground.js","sourceRoot":"","sources":["../../../src/runtime/planning/ground.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,mDAAmD;AACnD,+DAA+D;AAC/D,EAAE;AACF,iEAAiE;AACjE,iDAAiD;AACjD,EAAE;AACF,WAAW;AACX,4EAA4E;AAC5E,2CAA2C;AAC3C,iDAAiD;AACjD,EAAE;AACF,mEAAmE;AACnE,kEAAkE;AAClE,yDAAyD;;AASzD,wCASC;AAQD,wBAQC;AAaD,kCAQC;AAMD,wDAKC;AAKD,sCAKC;AAcD,8BAkDC;AAxID;;;;GAIG;AACH,SAAgB,cAAc,CAAC,IAAY,EAAE,QAAgC;IAC3E,yDAAyD;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC1E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,MAAoB,EAAE,QAAgC;IAC3E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa;QAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;QAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;QAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,WAAW,CACzB,KAAgB,EAChB,QAAoD;IAEpD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAO,KAAK,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO;QAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,KAAgB,EAAE,aAAwB;IAC/E,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAgB,EAAE,IAAe;IAC7D,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,SAAS,CACvB,MAAoB,EACpB,OAAiC;IAEjC,yCAAyC;IACzC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACZ,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,iCAAiC;IACjC,MAAM,OAAO,GAA0E,EAAE,CAAC;IAC1F,MAAM,OAAO,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;IAChC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE/D,uCAAuC;QACvC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACjB,MAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM;IACnB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { Fact, Heuristic, STRIPSAction, STRIPSProblem } from './types';
2
+ /**
3
+ * Distancia básica: `|goal \ state|` (número de hechos del goal aún
4
+ * no presentes en state). Es admisible pero muy débil.
5
+ */
6
+ export declare const goalCountHeuristic: Heuristic;
7
+ /**
8
+ * Heurística Fast-Forward (versión por niveles, ignora delete-list).
9
+ *
10
+ * Construcción:
11
+ * F₀ = state
12
+ * F_{i+1} = F_i ∪ {add-effects de toda acción ground con pre ⊆ F_i}
13
+ * Termina cuando goal ⊆ F_k → devuelve k.
14
+ * Si F se estabiliza sin alcanzar el goal → devuelve Infinity
15
+ * (estado dead-end del problema relajado, por lo tanto del original).
16
+ *
17
+ * Sin delete-list, F crece monotónicamente, así que la iteración
18
+ * termina en ≤ |universo de hechos accesibles| pasos.
19
+ *
20
+ * `actions` debe ser una lista de schemas (lifted). Internamente
21
+ * grounded en cada nivel con los objetos del dominio.
22
+ */
23
+ export declare function fastForwardHeuristic(state: Set<Fact>, goal: Set<Fact>, actions: STRIPSAction[], objects?: Record<string, string[]>): number;
24
+ /**
25
+ * Helper para crear una heurística FF cerrada sobre el problema.
26
+ * Devuelve una función `Heuristic` que `aStarPlan` puede consumir.
27
+ */
28
+ export declare function makeFFHeuristic(problem: STRIPSProblem): Heuristic;
29
+ //# sourceMappingURL=heuristic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heuristic.d.ts","sourceRoot":"","sources":["../../../src/runtime/planning/heuristic.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAIhC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAChB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EACf,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACjC,MAAM,CA8GR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAEjE"}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Planning — Heurísticas
4
+ // ============================================================
5
+ //
6
+ // Heurística "Fast-Forward" simplificada (Hoffmann & Nebel 2001):
7
+ // ignora la delete-list (delete-relaxation), construye un grafo de
8
+ // planificación relajado por "niveles" hasta que todos los hechos
9
+ // del goal aparezcan, y devuelve el número de niveles como estima.
10
+ //
11
+ // Es admisible (en el sentido relajado) y barata; en práctica guía
12
+ // muy bien a A* clásico para STRIPS.
13
+ //
14
+ // La versión completa de FF haría además extracción de plan relajado
15
+ // con contadores de "support" para mejorar el factor de rama. Acá nos
16
+ // quedamos con la estima por niveles, que ya es estricta mejor que
17
+ // `|goal \ state|` para problemas no triviales.
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.goalCountHeuristic = void 0;
20
+ exports.fastForwardHeuristic = fastForwardHeuristic;
21
+ exports.makeFFHeuristic = makeFFHeuristic;
22
+ const ground_1 = require("./ground");
23
+ /**
24
+ * Distancia básica: `|goal \ state|` (número de hechos del goal aún
25
+ * no presentes en state). Es admisible pero muy débil.
26
+ */
27
+ const goalCountHeuristic = (state, goal) => {
28
+ let missing = 0;
29
+ for (const g of goal)
30
+ if (!state.has(g))
31
+ missing++;
32
+ return missing;
33
+ };
34
+ exports.goalCountHeuristic = goalCountHeuristic;
35
+ /**
36
+ * Heurística Fast-Forward (versión por niveles, ignora delete-list).
37
+ *
38
+ * Construcción:
39
+ * F₀ = state
40
+ * F_{i+1} = F_i ∪ {add-effects de toda acción ground con pre ⊆ F_i}
41
+ * Termina cuando goal ⊆ F_k → devuelve k.
42
+ * Si F se estabiliza sin alcanzar el goal → devuelve Infinity
43
+ * (estado dead-end del problema relajado, por lo tanto del original).
44
+ *
45
+ * Sin delete-list, F crece monotónicamente, así que la iteración
46
+ * termina en ≤ |universo de hechos accesibles| pasos.
47
+ *
48
+ * `actions` debe ser una lista de schemas (lifted). Internamente
49
+ * grounded en cada nivel con los objetos del dominio.
50
+ */
51
+ function fastForwardHeuristic(state, goal, actions, objects) {
52
+ // Early exit.
53
+ let missing = 0;
54
+ for (const g of goal)
55
+ if (!state.has(g))
56
+ missing++;
57
+ if (missing === 0)
58
+ return 0;
59
+ // Universo plano de objetos para grounding.
60
+ const allObjects = [];
61
+ if (objects) {
62
+ const seen = new Set();
63
+ for (const vals of Object.values(objects)) {
64
+ for (const v of vals) {
65
+ if (!seen.has(v)) {
66
+ seen.add(v);
67
+ allObjects.push(v);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ // Si no hay objetos, solo aplican acciones sin parámetros.
73
+ const facts = new Set(state);
74
+ let level = 0;
75
+ const maxLevel = 1000; // Safety.
76
+ while (level < maxLevel) {
77
+ // Goal satisfied en este nivel.
78
+ let allPresent = true;
79
+ for (const g of goal) {
80
+ if (!facts.has(g)) {
81
+ allPresent = false;
82
+ break;
83
+ }
84
+ }
85
+ if (allPresent)
86
+ return level;
87
+ // Expandir un nivel: snapshot del nivel actual y aplicar toda
88
+ // acción ground cuyas pre ⊆ snapshot. Los efectos se aplican
89
+ // sobre `facts` pero las preconditions se chequean contra
90
+ // `snapshot` — así un mismo nivel no encadena varios pasos.
91
+ const snapshot = new Set(facts);
92
+ let added = false;
93
+ for (const a of actions) {
94
+ if (a.parameters.length === 0) {
95
+ // Acción ground directa.
96
+ let ok = true;
97
+ for (const p of a.preconditions) {
98
+ if (!snapshot.has(p)) {
99
+ ok = false;
100
+ break;
101
+ }
102
+ }
103
+ if (ok) {
104
+ for (const eff of a.addList) {
105
+ if (!facts.has(eff)) {
106
+ facts.add(eff);
107
+ added = true;
108
+ }
109
+ }
110
+ }
111
+ }
112
+ else {
113
+ // Enumerar bindings (producto cartesiano).
114
+ const indices = Array.from({ length: a.parameters.length }, () => 0);
115
+ const n = allObjects.length;
116
+ if (n === 0)
117
+ continue;
118
+ while (true) {
119
+ const bindings = {};
120
+ for (let i = 0; i < a.parameters.length; i++) {
121
+ bindings[a.parameters[i]] = allObjects[indices[i]];
122
+ }
123
+ // Chequear pre contra snapshot.
124
+ let ok = true;
125
+ for (const p of a.preconditions) {
126
+ const inst = (0, ground_1.substituteVars)(p, bindings);
127
+ if (!snapshot.has(inst)) {
128
+ ok = false;
129
+ break;
130
+ }
131
+ }
132
+ if (ok) {
133
+ for (const eff of a.addList) {
134
+ const inst = (0, ground_1.substituteVars)(eff, bindings);
135
+ if (!facts.has(inst)) {
136
+ facts.add(inst);
137
+ added = true;
138
+ }
139
+ }
140
+ }
141
+ // Ripple.
142
+ let k = a.parameters.length - 1;
143
+ while (k >= 0) {
144
+ const cur = indices[k] + 1;
145
+ if (cur < n) {
146
+ indices[k] = cur;
147
+ break;
148
+ }
149
+ indices[k] = 0;
150
+ k--;
151
+ }
152
+ if (k < 0)
153
+ break;
154
+ }
155
+ }
156
+ }
157
+ if (!added) {
158
+ // Fixed point: relajación se estabilizó sin alcanzar goal → dead end.
159
+ return Infinity;
160
+ }
161
+ level++;
162
+ }
163
+ return Infinity;
164
+ }
165
+ /**
166
+ * Helper para crear una heurística FF cerrada sobre el problema.
167
+ * Devuelve una función `Heuristic` que `aStarPlan` puede consumir.
168
+ */
169
+ function makeFFHeuristic(problem) {
170
+ return (state, goal) => fastForwardHeuristic(state, goal, problem.actions, problem.objects);
171
+ }
172
+ //# sourceMappingURL=heuristic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heuristic.js","sourceRoot":"","sources":["../../../src/runtime/planning/heuristic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { bfsPlan, hashState } from './bfs';
2
+ export { aStarPlan } from './astar';
3
+ export { applyAction, goalSatisfied, ground, groundAll, preconditionsSatisfied, substituteVars, } from './ground';
4
+ export { fastForwardHeuristic, goalCountHeuristic, makeFFHeuristic } from './heuristic';
5
+ export type { AStarOptions, CostFunction, Fact, GroundedAction, Heuristic, Plan, PlanStep, PlannerOptions, STRIPSAction, STRIPSProblem, } from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/planning/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,WAAW,EACX,aAAa,EACb,MAAM,EACN,SAAS,EACT,sBAAsB,EACtB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxF,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,cAAc,EACd,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Planning — Barrel
4
+ // ============================================================
5
+ //
6
+ // Planificación clásica STRIPS / PDDL light.
7
+ //
8
+ // API pública:
9
+ // - `bfsPlan(problem, opts?)` → BFS, plan de menor longitud
10
+ // - `aStarPlan(problem, opts?)` → A*, plan de menor costo
11
+ // - `ground(action, bindings)` → instanciar schema
12
+ // - `applyAction(state, ground)` → estado sucesor
13
+ // - `goalSatisfied(state, goal)` → goal ⊆ state
14
+ // - `fastForwardHeuristic(...)` → heurística FF por niveles
15
+ // - `makeFFHeuristic(problem)` → curry FF al problema
16
+ // - `goalCountHeuristic` → |goal\state| trivial
17
+ //
18
+ // Tipos: `STRIPSAction`, `STRIPSProblem`, `Plan`, `PlanStep`,
19
+ // `GroundedAction`, `Heuristic`, `PlannerOptions`, `AStarOptions`.
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.makeFFHeuristic = exports.goalCountHeuristic = exports.fastForwardHeuristic = exports.substituteVars = exports.preconditionsSatisfied = exports.groundAll = exports.ground = exports.goalSatisfied = exports.applyAction = exports.aStarPlan = exports.hashState = exports.bfsPlan = void 0;
22
+ var bfs_1 = require("./bfs");
23
+ Object.defineProperty(exports, "bfsPlan", { enumerable: true, get: function () { return bfs_1.bfsPlan; } });
24
+ Object.defineProperty(exports, "hashState", { enumerable: true, get: function () { return bfs_1.hashState; } });
25
+ var astar_1 = require("./astar");
26
+ Object.defineProperty(exports, "aStarPlan", { enumerable: true, get: function () { return astar_1.aStarPlan; } });
27
+ var ground_1 = require("./ground");
28
+ Object.defineProperty(exports, "applyAction", { enumerable: true, get: function () { return ground_1.applyAction; } });
29
+ Object.defineProperty(exports, "goalSatisfied", { enumerable: true, get: function () { return ground_1.goalSatisfied; } });
30
+ Object.defineProperty(exports, "ground", { enumerable: true, get: function () { return ground_1.ground; } });
31
+ Object.defineProperty(exports, "groundAll", { enumerable: true, get: function () { return ground_1.groundAll; } });
32
+ Object.defineProperty(exports, "preconditionsSatisfied", { enumerable: true, get: function () { return ground_1.preconditionsSatisfied; } });
33
+ Object.defineProperty(exports, "substituteVars", { enumerable: true, get: function () { return ground_1.substituteVars; } });
34
+ var heuristic_1 = require("./heuristic");
35
+ Object.defineProperty(exports, "fastForwardHeuristic", { enumerable: true, get: function () { return heuristic_1.fastForwardHeuristic; } });
36
+ Object.defineProperty(exports, "goalCountHeuristic", { enumerable: true, get: function () { return heuristic_1.goalCountHeuristic; } });
37
+ Object.defineProperty(exports, "makeFFHeuristic", { enumerable: true, get: function () { return heuristic_1.makeFFHeuristic; } });
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/planning/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAC/D,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,eAAe;AACf,oEAAoE;AACpE,gEAAgE;AAChE,0DAA0D;AAC1D,uDAAuD;AACvD,qDAAqD;AACrD,kEAAkE;AAClE,6DAA6D;AAC7D,6DAA6D;AAC7D,EAAE;AACF,8DAA8D;AAC9D,mEAAmE;;;AAEnE,6BAA2C;AAAlC,8FAAA,OAAO,OAAA;AAAE,gGAAA,SAAS,OAAA;AAC3B,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAClB,mCAOkB;AANhB,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,gGAAA,MAAM,OAAA;AACN,mGAAA,SAAS,OAAA;AACT,gHAAA,sBAAsB,OAAA;AACtB,wGAAA,cAAc,OAAA;AAEhB,yCAAwF;AAA/E,iHAAA,oBAAoB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAAE,4GAAA,eAAe,OAAA"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Un hecho atómico ground. Lo representamos como string opaque al
3
+ * motor — el formato típico es `predicate(arg1, arg2, …)` o simplemente
4
+ * `predicate-arg1-arg2`. El motor solo compara igualdad de strings.
5
+ */
6
+ export type Fact = string;
7
+ /**
8
+ * Una acción STRIPS (puede ser lifted con `?` en los parámetros).
9
+ *
10
+ * Convención: los parámetros se nombran con prefijo `?` dentro de
11
+ * los strings de preconditions/addList/delList. Ejemplo:
12
+ *
13
+ * {
14
+ * name: 'move',
15
+ * parameters: ['?from', '?to'],
16
+ * preconditions: ['at(?from)', 'connected(?from, ?to)'],
17
+ * addList: ['at(?to)'],
18
+ * delList: ['at(?from)'],
19
+ * }
20
+ *
21
+ * Para acciones ya ground, `parameters` puede ser `[]` y los strings
22
+ * no contienen `?`.
23
+ */
24
+ export interface STRIPSAction {
25
+ name: string;
26
+ parameters: string[];
27
+ preconditions: string[];
28
+ addList: string[];
29
+ delList: string[];
30
+ }
31
+ /**
32
+ * Problema de planificación STRIPS.
33
+ *
34
+ * - `predicates`: lista declarativa (puramente documental — no se
35
+ * valida internamente, pero sirve para introspección).
36
+ * - `objects`: mapa de `tipo → valores`. Si no usás tipos, podés
37
+ * usar `{ object: [...] }` y referir `object` como el "tipo" en los
38
+ * parámetros si quisieras, pero el grounding por defecto enumera
39
+ * todos los objetos para cada parámetro (sin filtrar por tipo).
40
+ * - `actions`: schemas de acciones (lifted o ground).
41
+ * - `initialState`: hechos verdaderos en S₀ (closed-world assumption).
42
+ * - `goal`: hechos que deben estar en el estado final. Si goal ⊆ S
43
+ * entonces S satisface el goal.
44
+ */
45
+ export interface STRIPSProblem {
46
+ predicates: string[];
47
+ objects: Record<string, string[]>;
48
+ actions: STRIPSAction[];
49
+ initialState: Set<Fact>;
50
+ goal: Set<Fact>;
51
+ }
52
+ /**
53
+ * Una acción ya instanciada (ground) — el resultado de aplicar un
54
+ * binding concreto a un schema lifted.
55
+ */
56
+ export interface GroundedAction {
57
+ preconditions: Set<Fact>;
58
+ addList: Set<Fact>;
59
+ delList: Set<Fact>;
60
+ }
61
+ /** Un paso del plan: el schema + el binding que lo grounded. */
62
+ export interface PlanStep {
63
+ action: STRIPSAction;
64
+ bindings: Record<string, string>;
65
+ }
66
+ /**
67
+ * Plan completo.
68
+ *
69
+ * - `actions`: secuencia ordenada de pasos.
70
+ * - `length`: número de pasos (= actions.length).
71
+ * - `cost`: costo total. Por default = length (cada acción cuesta 1).
72
+ */
73
+ export interface Plan {
74
+ actions: PlanStep[];
75
+ length: number;
76
+ cost: number;
77
+ }
78
+ /**
79
+ * Heurística admisible: estima el costo restante desde `state` hasta
80
+ * algún estado que satisfaga `goal`. Para A* admisible, debe ser
81
+ * ≤ costo real (no sobreestimar).
82
+ */
83
+ export type Heuristic = (state: Set<Fact>, goal: Set<Fact>) => number;
84
+ /** Costo por acción (default: 1). Permite acciones de costo variable. */
85
+ export type CostFunction = (step: PlanStep) => number;
86
+ export interface PlannerOptions {
87
+ /** Profundidad máxima del plan. Default: 50 para BFS, 200 para A*. */
88
+ maxDepth?: number;
89
+ /**
90
+ * Límite de nodos expandidos (corta búsqueda explosiva). Default:
91
+ * 100_000.
92
+ */
93
+ maxNodes?: number;
94
+ /** Costo por acción. Default: () => 1. */
95
+ costFunction?: CostFunction;
96
+ }
97
+ export interface AStarOptions extends PlannerOptions {
98
+ heuristic?: Heuristic;
99
+ }
100
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/planning/types.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,gEAAgE;AAChE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;AAEtE,yEAAyE;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Planning — Tipos públicos (STRIPS / PDDL light)
4
+ // ============================================================
5
+ //
6
+ // STRIPS (Fikes & Nilsson 1971): planificación clásica donde el
7
+ // estado es un conjunto finito de hechos atómicos y las acciones
8
+ // modifican ese conjunto mediante:
9
+ //
10
+ // - preconditions: hechos que deben estar presentes para aplicar
11
+ // - addList: hechos que se vuelven verdaderos tras aplicar
12
+ // - delList: hechos que se eliminan tras aplicar
13
+ //
14
+ // El planificador busca una secuencia ⟨a₁, …, aₙ⟩ tal que aplicarla
15
+ // al estado inicial S₀ produzca un estado Sₙ ⊇ goal.
16
+ //
17
+ // "PDDL light": soportamos parámetros tipados via `objects` y
18
+ // `parameters` (los strings con `?x` se sustituyen). No soportamos
19
+ // fluents numéricos, cuantificadores universales, ni tipos
20
+ // jerárquicos — el grueso del PDDL nivel 1 (STRIPS + typing).
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/planning/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,qDAAqD;AACrD,+DAA+D;AAC/D,EAAE;AACF,gEAAgE;AAChE,iEAAiE;AACjE,mCAAmC;AACnC,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,yDAAyD;AACzD,EAAE;AACF,oEAAoE;AACpE,qDAAqD;AACrD,EAAE;AACF,8DAA8D;AAC9D,mEAAmE;AACnE,2DAA2D;AAC3D,8DAA8D"}
@@ -0,0 +1,3 @@
1
+ export { minifyProof, compactModusPonensChain, removeUnusedSubproofs, countNodes, depthOf, } from './minify';
2
+ export type { GenericProofNode, MinifyOptions, MinifyResult, MinifyRule } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/proof-minify/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,EACV,OAAO,GACR,MAAM,UAAU,CAAC;AAElB,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ // ============================================================
3
+ // ST Proof Minification — Barrel
4
+ // ============================================================
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.depthOf = exports.countNodes = exports.removeUnusedSubproofs = exports.compactModusPonensChain = exports.minifyProof = void 0;
7
+ var minify_1 = require("./minify");
8
+ Object.defineProperty(exports, "minifyProof", { enumerable: true, get: function () { return minify_1.minifyProof; } });
9
+ Object.defineProperty(exports, "compactModusPonensChain", { enumerable: true, get: function () { return minify_1.compactModusPonensChain; } });
10
+ Object.defineProperty(exports, "removeUnusedSubproofs", { enumerable: true, get: function () { return minify_1.removeUnusedSubproofs; } });
11
+ Object.defineProperty(exports, "countNodes", { enumerable: true, get: function () { return minify_1.countNodes; } });
12
+ Object.defineProperty(exports, "depthOf", { enumerable: true, get: function () { return minify_1.depthOf; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/proof-minify/index.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,iCAAiC;AACjC,+DAA+D;;;AAE/D,mCAMkB;AALhB,qGAAA,WAAW,OAAA;AACX,iHAAA,uBAAuB,OAAA;AACvB,+GAAA,qBAAqB,OAAA;AACrB,oGAAA,UAAU,OAAA;AACV,iGAAA,OAAO,OAAA"}
@@ -0,0 +1,13 @@
1
+ import type { GenericProofNode, MinifyOptions, MinifyResult } from './types';
2
+ /** Cuenta los nodos de un árbol (raíz incluida). */
3
+ export declare function countNodes(n: GenericProofNode): number;
4
+ /** Profundidad máxima (raíz = 0). */
5
+ export declare function depthOf(n: GenericProofNode): number;
6
+ export declare function compactModusPonensChain(proof: GenericProofNode): GenericProofNode;
7
+ export declare function removeUnusedSubproofs(proof: GenericProofNode): GenericProofNode;
8
+ /**
9
+ * Minifica un árbol de pruebas iterando las reglas hasta punto fijo
10
+ * o agotar `maxIterations`.
11
+ */
12
+ export declare function minifyProof(proof: GenericProofNode, opts?: MinifyOptions): MinifyResult;
13
+ //# sourceMappingURL=minify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minify.d.ts","sourceRoot":"","sources":["../../../src/runtime/proof-minify/minify.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAc,MAAM,SAAS,CAAC;AA2GzF,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAItD;AAED,qCAAqC;AACrC,wBAAgB,OAAO,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAQnD;AAqGD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAwBjF;AAgJD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAG/E;AA8GD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,GAAE,aAAkB,GAAG,YAAY,CAuC3F"}